aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* tg3: Create rx producer ring setup routinesMatt Carlson2009-08-291-87/+144
| | | | | | | | | Later patches are going to complicate the ring initialization routines. This patch breaks out the setup and teardown of the rx producer rings into separate functions to make the code more readable. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tg3: Clarify rx buffer relationshipsMatt Carlson2009-08-292-20/+24
| | | | | | | | This patch attempts to document the various rx buffer sizes used by the driver and how they relate to each other. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tg3: Move the JUMBO_CAPABLE and SUPPORT_MSI flagsMatt Carlson2009-08-292-7/+7
| | | | | | | | This patch moves where the jumbo capable and msi support flags are located. This is prep work for the addition of msix support flags. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tg3: Break out mini producer ring handlingMatt Carlson2009-08-291-11/+12
| | | | | | | | | | This patch separates the code that sets up the mini producer ring from the code that sets up the jumbo producer rings. The 5717 asic rev devices do not have a mini ring, but do have a jumbo frame implementation similar to the 5704 and previous devices. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tg3: Reformat NVRAM case statementsMatt Carlson2009-08-291-186/+183
| | | | | | | | This patch fixes up the NVRAM detection switch statements to conform to the kernel coding style. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tg3: Add new 5785 10/100 only device IDMatt Carlson2009-08-292-1/+4
| | | | | | | | This patch adds a new device ID for those 5785 devices that will only use 10/100 phys. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tg3: Delay mdio bus init until fw finishesMatt Carlson2009-08-291-2/+2
| | | | | | | | | | | The device firmware uses the MDIO bus during early setup. If the driver modifies the MDIO bus configuration while it is in use by the firmware, any number of bad things can happen. This patch delays MDIO setup until after the firmware posts its magic signature, signifying initialization is complete. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: sh_eth: add value of ether_link pin in platform_dataYoshihiro Shimoda2009-08-292-1/+8
| | | | | | | | | | The method of ETHER_LINK pin is board dependence. This patch adding paramters are: - no_ether_link : If set to 1, do not use ETHER_LINK - ether_link_active_low : If set to 1, ETHER_LINK is active low. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* TI DaVinci EMAC: delay DaVinci EMAC initializationRajashekhara, Sudhakar2009-08-291-1/+1
| | | | | | | | | | | | | | | | | | On TI's DA850/OMAP-L138 EVM, MAC address is stored in SPI flash which is accessed using MTD interface. This patch delays the initialization of DaVinci EMAC driver by changing module_init to late_initcall. This helps SPI and MTD drivers to get initialized before EMAC thereby enabling EMAC driver to read the MAC address while booting and use it. Tested with NFS on DM644x, DM6467, DA830/OMAP-L137 and DA850/OMAP-L138 EVMs. Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Reviewed-by: Chaithrika U S <chaithrika@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* WAN/LMC: Fix type_trans().Krzysztof Halasa2009-08-291-1/+1
| | | | | | | Fix lmc_proto_type() invocation. Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2: Update firmware to 5.0.0.j3.Michael Chan2009-08-291-5/+11
| | | | | | | | | | - Better small packet receive performance. - Better handling of Flow control on 5709. - Fixed iSCSI TMP ABORT TASK problem. - Added iSCSI TCP timestamp option. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cnic: Put uio init in separate function.Michael Chan2009-08-281-27/+41
| | | | | | | This will allow the 10G iSCSI code to reuse the function. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cnic: Put rx/tx ring allocation in separate function.Michael Chan2009-08-281-11/+22
| | | | | | | This will allow the 10G iSCSI code to reuse the function. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* qlge: Move TX completions from workqueue to NAPI.Ron Mercer2009-08-282-136/+137
| | | | | | | | | | | TX completions were running in a workqueue queued by the ISR. This patch moves the processing of TX completions to an existing RSS NAPI context. Now each irq vector runs NAPI for one RSS ring and one or more TX completion rings. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* qlge: Allow running MSIx with fewer vectors.Ron Mercer2009-08-281-47/+38
| | | | | | | | | Currently we downshift to MSI/Legacy if we don't get enough vectors for cpu_count RSS rings plus cpu_count TX completion rings. This patch allows running MSIX with the vector count that the platform provides. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* qlge: Get rid of 'default' rx_ring type.Ron Mercer2009-08-284-64/+28
| | | | | | | | | | | | | | | | | | Currently we have three types of RX rings. 1) Default ring - services rx_ring for broadcast/multicast, handles firmware events, and errors. 2) TX completion ring - handles only outbound completions. 3) RSS ring - handles only inbound completions. This patch gets rid of the default ring type and moves it's functionality into the first RSS ring. This makes better use of MSIX vectors since they are a limited resource on some platforms. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2009-08-2874-2441/+3987
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
| * libertas: add NULL check on return value of get_zeroed_pageKiran Divekar2009-08-281-0/+28
| | | | | | | | | | | | | | | | Most of the places in debugfs.c are missing a NULL check on the return value of get_zeroed_page API call. Added required NULL check at appropriate places. Signed-off-by: Kiran Divekar <kirandivekar@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: use cfg80211_wext_handlerJussi Kivilinna2009-08-281-421/+0
| | | | | | | | | | | | | | | | Now that cfg80211 functions are added and wext converted to use wext-compat functions, remove wext structures and disabled code. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: disable IWEVPMKIDCAND wireless eventJussi Kivilinna2009-08-281-2/+5
| | | | | | | | | | Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: convert mic failure wireless event to cfg80211Jussi Kivilinna2009-08-281-15/+17
| | | | | | | | | | Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: remove unneeded SIOCSIWCOMMITJussi Kivilinna2009-08-281-8/+0
| | | | | | | | | | Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: rename wireless stats worker to device pollerJussi Kivilinna2009-08-281-17/+19
| | | | | | | | | | | | | | | | | | Stats worker no longer poll stats from device anymore. It's still needed to poll device control channel for connect/disconnect events, so rename stats worker as device poller. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: add cfg80211 dump_stationJussi Kivilinna2009-08-281-0/+20
| | | | | | | | | | Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: add cfg80211 get_stationJussi Kivilinna2009-08-281-61/+57
| | | | | | | | | | | | | | | | Add cfg80211 get_station and convert SIOCGIWRATE and get_wireless_stats to cfg80211. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: add cfg80211 key handlingJussi Kivilinna2009-08-281-30/+103
| | | | | | | | | | | | | | Add cfg80211 add_key/del_key/set_default_key and convert wext to use theim. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: add cfg80211 set_channelJussi Kivilinna2009-08-281-90/+15
| | | | | | | | | | | | | | Add cfg80211 set_channel and convert wext to use it. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: add cfg80211 connect, disconnect, join_ibss and leave_ibssJussi Kivilinna2009-08-281-209/+460
| | | | | | | | | | | | | | | | Add cfg80211 connect functions for station and ad-hoc modes and convert wext to use theim. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: enable infrastructure before setting random essidJussi Kivilinna2009-08-281-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>
| * rndis_wlan: set ieee80211_ptr->iftype in rndis_change_virtual_intfJussi Kivilinna2009-08-281-1/+4
| | | | | | | | | | Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rndis_wlan: use is_zero_ether_addr() and is_broadcast_ether_addr()Jussi Kivilinna2009-08-281-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>
| * rndis_wlan: move link up/down work to separate functionsJussi Kivilinna2009-08-281-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>
| * rndis_wlan: increase scan timer delayJussi Kivilinna2009-08-281-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>
| * rndis_wlan: resize bssid list if too smallJussi Kivilinna2009-08-281-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>
| * rndis_wlan: get bssid scan list before new scanJussi Kivilinna2009-08-281-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>
| * rndis_wlan: ignore OID_802_11_ADD_KEY triggered media connect indicationsJussi Kivilinna2009-08-281-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>
| * b43: Implement antenna diversity support for LP-PHYGábor Stefanik2009-08-285-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>
| * b43: Enable LP-PHY support by default and remove Kconfig warningGábor Stefanik2009-08-281-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>
| * ath5k: don't use PCI ID to find the chip revisionPavel Roskin2009-08-283-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>
| * ath5k: fix uninitialized value use in ath5k_eeprom_read_turbo_modes()Pavel Roskin2009-08-281-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>
| * ath5k: clarify srev comparison for CCMP checkBob Copeland2009-08-282-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>
| * b43: LP-PHY: Revert to the original PHY register write routineGábor Stefanik2009-08-281-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>
| * iwlwifi: fix ICT irq table endiannessJohannes Berg2009-08-282-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>
| * rt2x00: Cleanup rt2x00mac_bss_info_changed()Ivo van Doorn2009-08-281-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>
| * ssb: Implement PMU LDO control and use it in b43Gábor Stefanik2009-08-282-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>
| * b43: Fix and update LP-PHY codeGábor Stefanik2009-08-285-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>
| * b43: LP-PHY: Fix and simplify Qdiv roundupGábor Stefanik2009-08-281-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>
| * rtl8187: Implement rfkill supportHerton Ronaldo Krzesinski2009-08-287-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>
| * rtl8187: fix circular locking (rtl8187_stop/rtl8187_work)Herton Ronaldo Krzesinski2009-08-281-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>
| * ath9k: Add Bluetooth Coexistence 3-wire supportVasanthakumar Thiagarajan2009-08-289-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>