linux/drivers/net/wireless
Raja Mani 9aa603578f ath6kl: Fix crash during the connection process
Sometimes, the network manager is failing to connect to the AP due
to the below kernel crash message. The reason behind this,
after issuing the connect command to the chip, the chip is sending
disconnect event and then immediately one connect event to the host
in some random cases.

The host driver resets all states (including cfg80211 state machine)
when it receives disconnect event from the chip. But, still the host
driver reports the next received connect event to cfg80211, at that time
cfg80211 SME state would have been in IDLE state, which was causing
the below kernel crash.

Now, host driver's sme state machine is checked every time before
delivering connect event to cfg80211

  WARNING: at net/wireless/sme.c:517 cfg80211_connect_result+0x10d/0x120()
  [..]
  Call Trace:
  [<c0145732>] warn_slowpath_common+0x72/0xa0
  [<c05d676d>] ? cfg80211_connect_result+0x10d/0x120
  [<c05d676d>] ? cfg80211_connect_result+0x10d/0x120
  [<c0145782>] warn_slowpath_null+0x22/0x30
  [<c05d676d>] cfg80211_connect_result+0x10d/0x120
  [<f83ff497>] ath6kl_cfg80211_connect_event+0x427/0x4f0 [ath6kl]
  [<c035d26a>] ? put_dec+0x2a/0xa0
  [<c035d645>] ? number+0x365/0x380
  [<c0154675>] ? mod_timer+0x135/0x260
  [<c035e00e>] ? format_decode+0x2fe/0x370
  [<c01263c8>] ? default_spin_lock_flags+0x8/0x10
  [<c05fd91f>] ? _raw_spin_lock_irqsave+0x2f/0x50
  [<c0146032>] ? console_unlock+0x172/0x1c0
  [<f8402659>] ath6kl_connect_event+0x89/0x400 [ath6kl]
  [<f840826e>] ath6kl_wmi_control_rx+0x98e/0x1d60 [ath6kl]
  [<c01335b5>] ? __wake_up+0x45/0x60
  [<f84053aa>] ath6kl_rx+0x56a/0x770 [ath6kl]
  [<c04d0242>] ? mmc_release_host+0x22/0x40
  [<c04d9329>] ? sdio_release_host+0x19/0x30
  [<f840a27a>] ? ath6kl_sdio_read_write_sync+0x7a/0xc0 [ath6kl]
  [<f83f82b1>] do_rx_completion+0x41/0x50 [ath6kl]
  [<f83faa6a>] htc_rxmsg_pending_handler+0x6ba/0xbd0 [ath6kl]
  [<f8404bb0>] ? ath6kl_tx_data_cleanup+0x30/0x30 [ath6kl]
  [<f840a1c0>] ? ath6kl_sdio_irq_handler+0x30/0x70 [ath6kl]
  [<f83f7cd5>] ath6kldev_intr_bh_handler+0x2a5/0x630 [ath6kl]
  [<f840a1c0>] ath6kl_sdio_irq_handler+0x30/0x70 [ath6kl]
  [<c04d97c7>] sdio_irq_thread+0xc7/0x2d0
  [<c013aeb0>] ? default_wake_function+0x10/0x20
  [<c012fc98>] ? __wake_up_common+0x48/0x70
  [<c04d9700>] ? sdio_claim_irq+0x200/0x200
  [<c0163854>] kthread+0x74/0x80
  [<c01637e0>] ? kthread_worker_fn+0x160/0x160
  [<c0604c06>] kernel_thread_helper+0x6/0x10

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-08-09 19:45:24 +03:00
..
ath ath6kl: Fix crash during the connection process 2011-08-09 19:45:24 +03:00
b43 b43: remove wireless extensions inclusions 2011-08-08 14:26:16 -04:00
b43legacy b43legacy: report core number 2011-08-08 16:04:10 -04:00
hostap hostap_cs: support cards with "Version 01.02" as third product ID 2011-08-08 16:04:11 -04:00
ipw2x00 cfg80211: split wext compatibility to separate header 2011-08-08 14:24:59 -04:00
iwlegacy iwlegacy: remove wireless extensions inclusions 2011-08-08 14:25:05 -04:00
iwlwifi iwlagn: support v2 of enhanced sensitivity table 2011-08-08 16:04:07 -04:00
iwmc3200wifi drivers/net: Remove unnecessary semicolons 2011-06-05 14:33:40 -07:00
libertas libertas_usb: program OLPC EC wakeup mask for wake-on-WLAN 2011-08-08 16:04:18 -04:00
libertas_tf Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-06-30 13:34:06 -04:00
mwifiex mwifiex: remove redundant variable scan_table_idx 2011-08-08 14:29:20 -04:00
orinoco orinoco_cs: be more careful when matching cards with ID 0x0156:0x0002 2011-08-08 16:04:12 -04:00
p54 net: remove interrupt.h inclusion from netdevice.h 2011-06-06 22:55:11 -07:00
prism54 net: remove interrupt.h inclusion from netdevice.h 2011-06-06 22:55:11 -07:00
rt2x00 Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2011-08-03 09:18:21 -04:00
rtl818x net: remove interrupt.h inclusion from netdevice.h 2011-06-06 22:55:11 -07:00
rtlwifi Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2011-08-03 09:18:21 -04:00
wl12xx wl12xx: remove wext dependencies 2011-08-08 14:26:19 -04:00
wl1251 wl1251: remove wext dependencies 2011-08-08 14:26:21 -04:00
zd1211rw zd1211rw: detect stalled beacon interrupt faster 2011-06-22 16:09:47 -04:00
adm8211.c net: remove interrupt.h inclusion from netdevice.h 2011-06-06 22:55:11 -07:00
adm8211.h
airo_cs.c
airo.c net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared 2011-07-27 22:39:30 -07:00
airo.h
at76c50x-usb.c
at76c50x-usb.h
atmel_cs.c
atmel_pci.c
atmel.c net: remove interrupt.h inclusion from netdevice.h 2011-06-06 22:55:11 -07:00
atmel.h
Kconfig
mac80211_hwsim.c mac80211: restrict advertised HW scan rates 2011-06-27 15:09:39 -04:00
mac80211_hwsim.h mac80211_hwsim driver support userspace frame tx/rx 2011-06-01 15:11:00 -04:00
Makefile
mwl8k.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-07-22 17:51:16 -04:00
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: remove wireless extensions inclusions 2011-08-08 14:26:18 -04:00
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h