android_kernel_oneplus_msm8998/drivers
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
..
accessibility
acpi Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2011-07-26 09:21:09 -07:00
amba
ata drivers: use kzalloc/kcalloc instead of 'kmalloc+memset', where possible 2011-07-25 20:57:13 -07:00
atm atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
auxdisplay
base atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
bcma bcma: get CPU clock 2011-08-08 14:29:29 -04:00
block atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
bluetooth
cdrom
char Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 2011-07-27 19:26:38 -07:00
clk
clocksource Merge branch 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-23 10:34:47 -07:00
connector atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
cpufreq Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2011-07-26 09:21:09 -07:00
cpuidle
crypto Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2011-07-25 12:53:15 -07:00
dca
dio
dma Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
edac atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
eisa eisa/pci_eisa.c: fix section mismatch 2011-07-25 20:57:14 -07:00
firewire atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
firmware Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2011-07-25 23:06:24 -07:00
gpio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
gpu atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
hid Merge branches 'roccat', 'upstream' and 'wiimote' into for-linus 2011-07-22 22:47:08 +02:00
hwmon atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
hwspinlock
i2c i2c-eg20t : Fix the issue of Combined R/W transfer mode 2011-07-27 00:02:28 +01:00
ide
idle
ieee802154
infiniband Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2011-07-27 13:21:40 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-07-27 09:24:56 -07:00
iommu
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-07-28 05:58:19 -07:00
leds arch/arm/mach-ux500/board-u5500.c: calibrate ALS input voltage 2011-07-25 20:57:15 -07:00
lguest lguest: Fix in/out emulation 2011-07-22 14:39:51 +09:30
macintosh
mca
md Merge branch 'for-linus' of git://neil.brown.name/md 2011-07-28 05:50:27 -07:00
media atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
memstick
message atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
mfd Merge branch 'next/devel2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:42:18 -07:00
misc atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
mmc MMC / TMIO: Fix build issue related to struct scatterlist 2011-07-26 11:52:55 -07:00
mtd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
net ath6kl: Fix crash during the connection process 2011-08-09 19:45:24 +03:00
nfc NFC: pn533: use after free in pn533_disconnect() 2011-07-26 16:27:24 -04:00
nubus
of Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-07-25 22:59:39 -07:00
oprofile atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
parisc
parport Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2011-07-25 23:09:27 -07:00
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2011-07-26 18:30:20 -07:00
pcmcia Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
platform asus-wmi: ->is_visible() can't return negative 2011-07-24 10:12:19 -04:00
pnp Merge 'akpm' patch series 2011-07-25 21:00:19 -07:00
power
pps
ps3
ptp
rapidio
regulator regulator: Convert tps65023 to use regmap API 2011-07-23 07:57:02 +01:00
rtc rtc: fix hrtimer deadlock 2011-07-26 16:49:42 -07:00
s390 atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
sbus atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
scsi Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2011-07-27 13:21:40 -07:00
sfi
sh
sn
spi Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6 2011-07-22 14:52:44 -07:00
ssb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
staging Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-07-28 05:58:19 -07:00
target Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2011-07-27 13:21:40 -07:00
tc
telephony
thermal
tty atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
uio Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2011-07-25 23:06:24 -07:00
usb atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
uwb
vhost atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
video atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
virt drivers/virt: add missing linux/interrupt.h to fsl_hypervisor.c 2011-07-22 09:24:39 -05:00
virtio virtio: expose for non-virtualization users too 2011-07-23 16:20:30 +09:30
vlynq
w1 atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
watchdog bcm47xx: add support for bcma bus 2011-08-08 14:29:32 -04:00
xen xen/balloon: memory hotplug support for Xen balloon driver 2011-07-25 20:57:08 -07:00
zorro
Kconfig Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-07-25 22:59:39 -07:00
Makefile Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-07-25 22:59:39 -07:00