android_kernel_motorola_sm6225/drivers/net/wireless
Niels Ole Salscheider 7ffa592843 brcmsmac: Use udelay instead of usleep_range
wlc_lcnphy_rx_iq_cal_gain is called during initialization, i. e. when
executing brcms_up.
But brcms_up is called from brcms_ops_start while the latter holds a spin lock.
Thus, we cannot use usleep_range but have to use udelay.

This fixes:
BUG: scheduling while atomic: NetworkManager/1652/0x00000200
[...]
Call Trace:
 [<ffffffff81582522>] __schedule_bug+0x48/0x54
 [<ffffffff815892b6>] __schedule+0x596/0x6d0
 [<ffffffff81589719>] schedule+0x29/0x70
 [<ffffffff8158893c>] schedule_hrtimeout_range_clock+0xfc/0x140
 [<ffffffff81060f10>] ? update_rmtp+0x70/0x70
 [<ffffffff81588993>] schedule_hrtimeout_range+0x13/0x20
 [<ffffffff810495e0>] usleep_range+0x40/0x50
 [<ffffffffa05dedcb>] wlc_lcnphy_rx_iq_cal.constprop.10+0x59b/0xa90 [brcmsmac]
 [<ffffffffa05df4ce>] wlc_lcnphy_periodic_cal+0x20e/0x220 [brcmsmac]
 [<ffffffffa05dce8d>] ? wlc_lcnphy_set_tx_pwr_ctrl+0x21d/0x3c0 [brcmsmac]
 [<ffffffffa05e0cfc>] wlc_phy_init_lcnphy+0xacc/0x1100 [brcmsmac]
 [<ffffffffa05e0230>] ? wlc_phy_txpower_recalc_target_lcnphy+0x90/0x90 [brcmsmac]
 [<ffffffffa05d7c7d>] wlc_phy_init+0xcd/0x170 [brcmsmac]
 [<ffffffffa05c9dfe>] brcms_b_bsinit.isra.65+0x12e/0x310 [brcmsmac]
 [<ffffffffa05d061b>] brcms_c_init+0x8fb/0x1170 [brcmsmac]
 [<ffffffffa05c3a0a>] brcms_init+0x5a/0x70 [brcmsmac]
 [<ffffffffa05ce76c>] brcms_c_up+0x1ac/0x4a0 [brcmsmac]
 [<ffffffffa05c3c65>] brcms_up+0x25/0x30 [brcmsmac]
 [<ffffffffa05c44c0>] brcms_ops_start+0xd0/0x100 [brcmsmac]
[...]

Signed-off-by: Niels Ole Salscheider <niels_ole@salscheider-online.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-01-02 14:38:26 -05:00
..
ath carl9170: fix -EINVAL bailout during init with !CONFIG_MAC80211_MESH 2013-01-02 14:38:25 -05:00
b43 b43: fix tx path skb leaks 2012-12-10 15:49:59 -05:00
b43legacy Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-12-11 16:24:55 -05:00
brcm80211 brcmsmac: Use udelay instead of usleep_range 2013-01-02 14:38:26 -05:00
hostap wireless: drivers: make use of WLAN_EID_VENDOR_SPECIFIC 2012-10-18 09:01:54 +02:00
ipw2x00 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
iwlegacy PCI changes for the v3.8 merge window: 2012-12-13 12:14:47 -08:00
iwlwifi PCI changes for the v3.8 merge window: 2012-12-13 12:14:47 -08:00
libertas libertas: remove __dev* attributes 2012-12-06 15:04:57 -05:00
libertas_tf mac80211: move TX station pointer and restructure TX 2012-07-31 16:18:39 +02:00
mwifiex Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2012-12-06 14:58:41 -05:00
orinoco orinoco: remove __dev* attributes 2012-12-06 15:04:58 -05:00
p54 p54usb: add USB ID for T-Com Sinus 154 data II 2013-01-02 14:38:25 -05:00
prism54 wireless: Remove casts to same type 2012-06-06 09:31:33 -07:00
rt2x00 rt2x00: zero-out rx_status 2012-12-17 15:45:17 -05:00
rtl818x rtl8187: remove __dev* attributes 2012-12-06 15:04:59 -05:00
rtlwifi rtlwifi: fix incorrect use of usb_alloc_coherent with usb_control_msg 2013-01-02 14:38:24 -05:00
ti wlcore/wl18xx/wl12xx: remove __dev* attributes 2012-12-06 15:04:59 -05:00
zd1211rw treewide: fix typo of "suppport" in various comments 2012-11-19 14:13:52 +01:00
adm8211.c wireless: remove __dev* attributes 2012-12-06 15:04:55 -05:00
adm8211.h
airo.c wireless: remove __dev* attributes 2012-12-06 15:04:55 -05:00
airo.h
airo_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
at76c50x-usb.c wireless: Convert dev_printk(KERN_<LEVEL> to dev_<level>( 2012-11-14 14:55:32 -05:00
at76c50x-usb.h
atmel.c treewide: fix typo of "suport" in various comments and Kconfig 2012-11-19 14:16:09 +01:00
atmel.h
atmel_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
atmel_pci.c atmel: remove __dev* attributes 2012-12-06 15:04:56 -05:00
Kconfig drivers: remove reference to feature-removal-schedule.txt 2012-12-17 17:15:12 -08:00
mac80211_hwsim.c wireless: fix VHT max AMPDU exponent definition 2012-12-06 14:02:51 +01:00
mac80211_hwsim.h
Makefile wireless: fix Atheros drivers compilation 2012-12-17 15:48:43 -05:00
mwl8k.c mwl8k: remove __dev* attributes 2012-12-06 15:04:58 -05:00
ray_cs.c wireless: Remove casts to same type 2012-06-06 09:31:33 -07:00
ray_cs.h
rayctl.h
rndis_wlan.c cfg80211: pass a channel definition struct 2012-11-26 12:42:58 +01:00
wl3501.h
wl3501_cs.c wl3501_cs: use is_broadcast_ether_addr() instead of memcmp() 2012-09-07 15:03:40 -04:00
zd1201.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
zd1201.h