linux/drivers
Reinette Chatre 849e0dcea6 iwlwifi: initialize geo/channel information during probe
The geo/channel information is obtained from the EEPROM, which is read
during probe. We can thus set up channel information at this time. This
helps us to support ioctl commands that rely on this before the interface
is brought up.

Clearly matches _init_channel_map with _free_channel_map and _init_geos
with _free_geos to ensure functions calling these routines can also call
their cleanup routines.

Fixes a few bugs:
- if channel information is not available when ioctl commands are
  issued then we get a NULL pointer oops. Having channel information
  set up during probe we can deal with ioctl commands without requiring
  interface to be brought up.
  This fixes bug: http://www.bughost.org/bugzilla/show_bug.cgi?id=1552
- Fix potential problem if user triggers probe/remove/probe sequence. The
  value of priv->channel_count was used to determine if channel map is
  set up. This value was never reset when channel map was removed.
- Fix memory leak: priv->modes need to be freed when device removed.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-31 19:26:41 -08:00
..
acorn/char
acpi x86: don't disable TSC in any C states on AMD Fam10h 2008-01-30 13:32:41 +01:00
amba
ata Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
atm [ATM]: [he] fixing compilation when you define USE_RBPS_POOL/USE_RBPL_POOL 2008-01-28 15:00:15 -08:00
auxdisplay
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-01-31 09:31:37 +11:00
block cciss: fix bug in overriding ->data_len before completion 2008-01-29 21:55:18 +01:00
bluetooth
cdrom Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-01-29 08:52:50 +11:00
char Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
clocksource
connector [NETNS]: Consolidate kernel netlink socket destruction. 2008-01-28 15:08:07 -08:00
cpufreq cpufreq: fix obvious condition statement error 2008-01-30 13:33:34 +01:00
cpuidle
crypto [S390] crypto: move s390 Kconfig options. 2008-01-26 14:11:17 +01:00
dca
dio
dma
edac Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
eisa
firewire firewire: fw-sbp2: Use sbp2 device-provided mgt orb timeout for logins 2008-01-30 22:22:29 +01:00
firmware x86: left over fix for leak of early_ioremp in dmi_scan 2008-01-30 13:33:32 +01:00
hid HID: ADS/Tech Radio si470x needs blacklist entry 2008-01-28 14:51:23 +01:00
hwmon
i2c Merge branch 'orion' into devel 2008-01-28 13:21:30 +00:00
ide blk_end_request: changing ide-cd (take 4) 2008-01-28 10:37:06 +01:00
ieee1394 ieee1394: ohci1394: don't schedule IT tasklets on IR events 2008-01-30 22:22:21 +01:00
infiniband [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
input [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
isdn
leds
lguest lguest: fix mis-merge against hpa's TSS renaming 2008-01-31 19:59:44 +11:00
macintosh Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
mca
md
media [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
message blk_end_request: changing i2o_block (take 4) 2008-01-28 10:36:50 +01:00
mfd [ARM] Fix class_device damage caused by 0c55445f20 2008-01-28 10:59:09 +00:00
misc
mmc Merge branch 'blk-end-request' of git://git.kernel.dk/linux-2.6-block 2008-01-29 08:51:32 +11:00
mtd
net iwlwifi: initialize geo/channel information during probe 2008-01-31 19:26:41 -08:00
nubus
of
oprofile
parisc [PARISC]: Fix build after ipv4_is_*() changes. 2008-01-28 14:58:20 -08:00
parport
pci Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
pcmcia [ARM] pxa: move memory controller registers into pxa2xx-regs.h 2008-01-26 15:07:54 +00:00
pnp git-x86: drivers/pnp/pnpbios/bioscalls.c build fix 2008-01-30 13:32:31 +01:00
power
ps3
rapidio Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
rtc Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-01-29 08:52:50 +11:00
s390 [SCSI] zfcp: fix sense_buffer access bug 2008-01-30 13:03:39 -06:00
sbus
scsi [SCSI] Revert "[SCSI] aacraid: fib context lock for management ioctls" 2008-01-30 13:14:26 -06:00
serial Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
sh
sn
spi Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
ssb ssb: Add boardflags_hi field to the sprom data structure 2008-01-28 15:09:52 -08:00
tc
telephony
uio
usb [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
video x86: cpa: move flush to cpa 2008-01-30 13:34:07 +01:00
virtio
w1 i2c: normal_i2c can be made const (remaining drivers) 2008-01-27 18:14:47 +01:00
watchdog [WATCHDOG] use SGI_HAS_INDYDOG for INDYDOG depends 2008-01-29 12:58:38 +00:00
xen
zorro
Kconfig KVM: Move arch dependent files to new directory arch/x86/kvm/ 2008-01-30 18:01:18 +02:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2008-01-31 09:35:32 +11:00