staging: ath6kl: Fixing target crash due to mismatch connect/disconnect
authorVipin Mehta <vmehta@atheros.com>
Fri, 18 Feb 2011 21:13:05 +0000 (13:13 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Feb 2011 21:28:50 +0000 (13:28 -0800)
commit83195cc8a83df3546d72873ca2aed51f97b0c901
tree8b787163ac6f92e78ba745147ca74e4f529fdd9b
parent3f2fd78e68cdea8805c92b72008b9eb42f6580f6
staging: ath6kl: Fixing target crash due to mismatch connect/disconnect

Firmware design requires a WMI_DISCONNECT_CMD for every WMI_CONNECT_CMD to
clear the firmware previous profile state. There is one case in linux host
driver where two WMI_CONNECT_CMD are given without a WMI_DISCONNECT_CMD.
This causes firmware state to mismatch causing an ASSERT. Use the driver
state variable arConnectPending to track whether a WMI_CONNECT_CMD is
issued to firmware.

Signed-off-by: Vipin Mehta <vmehta@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/ath6kl/os/linux/ar6000_drv.c
drivers/staging/ath6kl/os/linux/cfg80211.c
drivers/staging/ath6kl/os/linux/include/ar6xapi_linux.h
drivers/staging/ath6kl/os/linux/wireless_ext.c