]> git.baikalelectronics.ru Git - kernel.git/commit
ath9k_htc: Fix beaconing in IBSS mode
authorSujith <Sujith.Manoharan@atheros.com>
Thu, 6 May 2010 09:15:47 +0000 (14:45 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 7 May 2010 18:55:52 +0000 (14:55 -0400)
commit2e20760565c82f0aa26a50bb6385afd1b2104249
tree3b255fefdca205e5f38032236faeb1d7e433a2a8
parentc3c6df5bd403e89436eeac330a04d5122ddd6178
ath9k_htc: Fix beaconing in IBSS mode

The current way of managing beaconing in ad-hoc
mode has a subtle race - the beacon obtained from mac80211
is freed in the SWBA handler rather than the TX
completion routine. But transmission of beacons goes
through the normal SKB queue maintained in hif_usb,
leading to a situation where __skb_dequeue() in the TX
completion handler goes kaput.

Fix this by simply getting a beacon from mac80211 for
every SWBA and free it in its completion routine.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/htc.h
drivers/net/wireless/ath/ath9k/htc_drv_beacon.c
drivers/net/wireless/ath/ath9k/htc_drv_init.c
drivers/net/wireless/ath/ath9k/htc_drv_main.c