summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2009-08-28rndis_wlan: enable infrastructure before setting random essidJussi Kivilinna1-0/+6
Random essid must be set to turn on radio when not connected. If device is in ad-hoc mode, this results 'media connect' indications with the random essid which should be ignored. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rndis_wlan: set ieee80211_ptr->iftype in rndis_change_virtual_intfJussi Kivilinna1-1/+4
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rndis_wlan: use is_zero_ether_addr() and is_broadcast_ether_addr()Jussi Kivilinna1-11/+6
Use is_zero_ether_addr() and is_broadcast_ether_addr() instead of memcmp against ffff_bssid/zero_bssid. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rndis_wlan: move link up/down work to separate functionsJussi Kivilinna1-46/+55
Move link up/down work to separate functions and use local array for allocating memory for info structure instead of kzmalloc. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rndis_wlan: increase scan timer delayJussi Kivilinna1-1/+1
Increase scan delay from 1 sec to 6 sec. Spec says that scan by OID_802_11_BSSID_LIST_SCAN completes in 6 seconds. Before rfkill patch too short delay was not problem as device was always active (radio on) and performing background scanning. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rndis_wlan: resize bssid list if too smallJussi Kivilinna1-2/+15
Buffer used for bssid list might be too small. Change rndis_query_oid() to return required buffer length to caller and make rndis_check_bssid_list() resize buffer when needed. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rndis_wlan: get bssid scan list before new scanJussi Kivilinna1-0/+6
OID_802_11_BSSID_LIST_SCAN clears device's bssid list, so retrieve current bssid list from device before issuing new scan. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rndis_wlan: ignore OID_802_11_ADD_KEY triggered media connect indicationsJussi Kivilinna1-0/+17
Setting WPA keys with OID_802_11_ADD_KEY sometimes trigger instant media connect indication. These indications are extranous and should be ignored, as otherwise driver would send reassociation event to userspace which in this case is not needed. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28b43: Implement antenna diversity support for LP-PHYGábor Stefanik5-9/+17
The A/G-PHY changes are fallout fixes from the enum change, which in turn allows the LP-PHY code to be much simpler. The antenna_to_phyctl change is a fix for a potential existing bug that this patch may otherwise trigger. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28b43: Enable LP-PHY support by default and remove Kconfig warningGábor Stefanik1-3/+1
The most common LP-PHY device, BCM4312, is now fully functional. So, no need to say "probably won't work for you" anymore. It's also not "for debuggers and developers only", as it is perfectly usable for end-users now (at least for BCM4312). Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath5k: don't use PCI ID to find the chip revisionPavel Roskin3-25/+29
AR5K_SREV is available even if the chip has been put to sleep. Relying on the chip register allows binding non-standard PCI IDs by echo VENDOR_ID PRODUCT_ID >/sys/bus/pci/drivers/ath5k/new_id without having to specify the driver data as well. Signed-off-by: Pavel Roskin <proski@gnu.org> Acked-by: Bob Copeland <me@bobcopeland.com> Acked-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath5k: fix uninitialized value use in ath5k_eeprom_read_turbo_modes()Pavel Roskin1-24/+5
The `val' variable in ath5k_eeprom_read_turbo_modes() is used uninitialized. gcc 4.4.1 with -fno-inline-functions-called-once reports it: eeprom.c: In function 'ath5k_eeprom_read_turbo_modes': eeprom.c:441: warning: 'val' may be used uninitialized in this function Comparing the code to the Atheros HAL, it's clear that the split between ath5k_eeprom_read_modes() and ath5k_eeprom_read_turbo_modes() was incorrect. The Atheros HAL reads both turbo and non-turbo data from EEPROM in one function. Some turbo mode parameters are derived from the same EEPROM values as non-turbo parameters, just from different bits. Merge ath5k_eeprom_read_turbo_modes() into ath5k_eeprom_read_modes() to fix the warning. The actual values and offsets have been cross-checked against Atheros HAL. Signed-off-by: Pavel Roskin <proski@gnu.org> Acked-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath5k: clarify srev comparison for CCMP checkBob Copeland2-5/+3
As Pavel Roskin noted, the check for mac version as copied from legacy_hal made no sense. This replaces it with the equivalent and makes up a suitable #define for the mac version legacy_hal checked. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28b43: LP-PHY: Revert to the original PHY register write routineGábor Stefanik1-1/+2
After some discussion on IRC about the PHY register write change, I am not sure anymore if this is the right thing to do. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28iwlwifi: fix ICT irq table endiannessJohannes Berg2-6/+6
The ICT IRQ table is a set of __le32 values, not u32 values, so when reading it we need to take into account that it has to be converted to CPU endianness. This was causing a lot of trouble on my powerpc box where various things would simply not work for no apparent reason with 5xxx cards, but worked with 4965 -- which doesn't use the ICT table. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rt2x00: Cleanup rt2x00mac_bss_info_changed()Ivo van Doorn1-8/+0
Since patch "rt2x00: bss_info_changed() callback is allowed to sleep" the variable delayed wasn't used anymore. This means it can be removed along with the call to schedule_work which depended on that variable. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ssb: Implement PMU LDO control and use it in b43Gábor Stefanik2-7/+97
Implement the "PMU LDO set voltage" and "PMU LDO PA ref enable" functions, and use them during LP-PHY baseband init in b43. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28b43: Fix and update LP-PHY codeGábor Stefanik5-81/+122
-Fix a few nasty typos (b43_phy_* operations instead of b43_radio_*) in the channel tune routines. -Fix some typos & spec errors found by MMIO tracing. -Optimize b43_phy_write & b43_phy_mask/set/maskset to use only the minimal number of MMIO accesses. (Write is possible using a single 32-bit MMIO write, while set/mask/maskset can be done in 3 16-bit MMIOs). -Set the default channel back to 1, as the bug forcing us to use channel 7 is now fixed. With this, the device comes up, scans, associates, transmits, receives, monitors and injects on all channels - in other words, it's fully functional. Sensitivity and TX power are still sub-optimal, due to the lack of calibration (that's next on my list). Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28b43: LP-PHY: Fix and simplify Qdiv roundupGábor Stefanik1-11/+8
The Qdiv roundup routine is essentially a fixed-point division algorithm, using only integer math. However, the version in the specs had a major error that has been recently fixed (a missing quotient++). Replace Qdiv roundup with a rewritten, simplified version. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rtl8187: Implement rfkill supportHerton Ronaldo Krzesinski7-17/+94
This change implements rfkill support for RTL8187B and RTL8187L devices, using new cfg80211 rfkill API. Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Tested-by: Hin-Tak Leung <htl10@users.sourceforge.net> Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rtl8187: fix circular locking (rtl8187_stop/rtl8187_work)Herton Ronaldo Krzesinski1-1/+2
Larry Finger reports following lockdep warning: [ INFO: possible circular locking dependency detected ] 2.6.31-rc6-wl #201 ------------------------------------------------------- rfkill/30578 is trying to acquire lock: (&(&priv->work)->work#2){+.+...}, at: [<ffffffff81051215>] __cancel_work_timer+0xd9/0x222 but task is already holding lock: (&priv->conf_mutex#2){+.+.+.}, at: [<ffffffffa064a024>] rtl8187_stop+0x31/0x364 [rtl8187] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&priv->conf_mutex#2){+.+.+.}: [<ffffffff81065957>] __lock_acquire+0x12d0/0x1614 [<ffffffff81065d54>] lock_acquire+0xb9/0xdd [<ffffffff8127c32f>] mutex_lock_nested+0x56/0x2a8 [<ffffffffa064a392>] rtl8187_work+0x3b/0xf2 [rtl8187] [<ffffffff81050758>] worker_thread+0x1fa/0x30a [<ffffffff81054ca5>] kthread+0x8f/0x97 [<ffffffff8100cb7a>] child_rip+0xa/0x20 [<ffffffffffffffff>] 0xffffffffffffffff -> #0 (&(&priv->work)->work#2){+.+...}: [<ffffffff8106568c>] __lock_acquire+0x1005/0x1614 [<ffffffff81065d54>] lock_acquire+0xb9/0xdd [<ffffffff8105124e>] __cancel_work_timer+0x112/0x222 [<ffffffff8105136b>] cancel_delayed_work_sync+0xd/0xf [<ffffffffa064a33f>] rtl8187_stop+0x34c/0x364 [rtl8187] [<ffffffffa0242866>] ieee80211_stop_device+0x29/0x61 [mac80211] [<ffffffffa0239194>] ieee80211_stop+0x476/0x530 [mac80211] [<ffffffff8120ce15>] dev_close+0x8a/0xac [<ffffffffa01d9fa7>] cfg80211_rfkill_set_block+0x4a/0x7a [cfg80211] [<ffffffffa01bf4f0>] rfkill_set_block+0x84/0xd9 [rfkill] [<ffffffffa01bfc31>] rfkill_fop_write+0xda/0x124 [rfkill] [<ffffffff810cf286>] vfs_write+0xae/0x14a [<ffffffff810cf3e6>] sys_write+0x47/0x6e [<ffffffff8100ba6b>] system_call_fastpath+0x16/0x1b [<ffffffffffffffff>] 0xffffffffffffffff The problem here is that rtl8187_stop, while helding priv->conf_mutex, runs cancel_delayed_work_sync on an workqueue that runs rtl8187_work, which also takes priv->conf_mutex lock. Move cancel_delayed_work_sync out of rtl8187_stop priv->conf_mutex locking region. Reported-by: Larry Finger <Larry.Finger@lwfinger.net> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Add Bluetooth Coexistence 3-wire supportVasanthakumar Thiagarajan9-27/+423
This patch adds 3-wire bluetooth coex support for AR9285. This support can be enabled through btcoex_enable modparam. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Add infrastructure for generic hw timersVasanthakumar Thiagarajan4-2/+278
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Remove hw capability bit meant for btcoexVasanthakumar Thiagarajan3-7/+3
We don't need a hw cap bit for btcoex anymore as btcoex scheme type is enough to do this. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Determine btcoex scheme type based on chip versionVasanthakumar Thiagarajan3-3/+20
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Move btcoex related data to a separate structVasanthakumar Thiagarajan5-9/+22
Also define macros for wlanactive and btactive (5 & 6) gpios. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Configure btcoex register during every resetVasanthakumar Thiagarajan1-0/+3
Make sure btcoex register configured with appropriate values after it is initialized with the default values from initvals.h during reset. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Move btcoex stuff from hw.[ch] to new btcoex.[ch]Vasanthakumar Thiagarajan6-47/+82
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Split ath9k_hw_btcoex_enable() into two logical piecesVasanthakumar Thiagarajan4-3/+28
This function currently does initialization + enable the btcoex support. Split it into two logical functions which does the above operations separately. Btcoex initialization is done during attach time and enabling this feature is done in start(). Also, add code to disable btcoex support in stop(). Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28rndis_wlan: set cipher suites for cfg80211Jussi Kivilinna1-1/+14
rndis_wlan does not set cipher suites list for cfg80211 which causes wext-compat-range to report rndis_wlan not supporting WPA. Patch adds cipher suites list and fixes NetworkManager not being able to connect to WPA encrypted APs. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Wrap DMA dump function with PS wakeup/restoreSujith1-0/+4
When dumping register contents, HW has to be awake. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Update INITVALs for AR9285Sujith1-5/+5
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Handle PA cal usage properlySujith1-0/+5
PA Calibration is not needed for high power solutions. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Fix bugs in programming registers during PA CALSujith1-3/+2
* First PA driver (PDPADRV1) was not powered down properly. * Compensation capacitor for dynamic PA was programmed incorrectly. Also, remove a stray REG_READ. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Reduce the frequency of PA offset calibrationSujith3-4/+29
PA calibration need not be done if the offset is not varying. The current logic does PA calibration even if the offset is the same. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28libipw: initiate cfg80211 API conversionJohn W. Linville4-36/+161
Initiate the conversion of libipw to the new cfg80211 configuration API. For now, leave CONFIG_IPW2200_PROMISCUOUS stuff alone. Eventually migrate it to cfg80211 when the add/del/change_virtual_intf methods are implemented. Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath9k: Fix read buffer overflowRoel Kluin1-8/+8
Prevent a read of powInfo[-1] in the first iteration. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28b43: LP-PHY: Fix a few typos in the RC calibration codeGábor Stefanik1-3/+4
The RC calibration code has some typos - fix them. Also, make the default channel 7, as channel 1 is still broken (only channels 7 and 8, and occasionally 9 work). Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28PRISM54: fix compilation warningJaswinder Singh Rajput1-2/+2
CC [M] drivers/net/wireless/prism54/islpci_eth.o drivers/net/wireless/prism54/islpci_eth.c: In function ‘islpci_eth_cleanup_transmit’: drivers/net/wireless/prism54/islpci_eth.c:53: warning: cast from pointer to integer of different size drivers/net/wireless/prism54/islpci_eth.c: In function ‘islpci_eth_receive’: drivers/net/wireless/prism54/islpci_eth.c:453: warning: cast from pointer to integer of different size Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath5k: add hardware CCMP encyption supportBob Copeland3-0/+14
Recent ath5k hardware is capable of doing CCMP acceleration. Enable it for the cards that support it. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath5k: use the skb->cb directly for RX statusBob Copeland1-20/+21
Save a memcpy by just storing updates directly in the skb control block. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath5k: add led pin configuration for compaq c700 laptopMarcos Chaparro1-0/+2
With this patch, a compaq c700 can turn on the wifi led. The array of compatible devices now includes the hardware present in this computer, as well as the led pin and polarity. Signed-off-by: Marcos Chaparro <nitrousnrg@gmail.com> Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ath5k: clean up filter flags settingBob Copeland1-16/+23
The maze of if() statements in configure_filter is confusing. Reorganizing it as a switch statement makes it more apparent what is going on and reveals several suspicious settings. This has no functional changes, though it does remove some redundant flags that are set earlier. Also now that we can sleep, protect sc->filter_flags with the sc lock. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28mwl8k: separate driver and device info reporting during probeLennert Buytenhek1-9/+12
Only print the driver version once, and condense all per-PHY information to a single line. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28mwl8k: missing endian conversion when printing firmware command resultLennert Buytenhek1-1/+1
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28mwl8k: fix pci dma mapping leak in mwl8k_post_cmd() error pathLennert Buytenhek1-1/+4
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28mwl8k: fix inverted error test in mwl8k_bss_info_changed()Lennert Buytenhek1-1/+1
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ar9170: remove unnecessary call to ar9170_set_beacon_timersJoerg Albert1-6/+0
Signed-off-by: Joerg Albert <jal2@gmx.de> Acked-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ar9170: cleanup of bss_info_changed and beacon configJoerg Albert3-18/+21
Add beacon control by BSS_CHANGED_BEACON_ENABLED and bss_conf->enable_beacon from mac80211. Signed-off-by: Joerg Albert <jal2@gmx.de> Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-28ipw2x00: update contact informationReinette Chatre8-8/+8
Intel Linux wireless folks can be reached via this address. Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Acked-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>