kernel-fxtec-pro1x/drivers/net/wireless/rt2x00
Igor Perminov 17512dc3b7 rt2x00: Fix for race condition while update beacon
The patch "Implement set_tim callback for all drivers" can cause kernel
oops in rt73usb_write_beacon. The oops is caused by one of the following
race conditions:
* In case of two near calls to set_tim: rt2x00lib_beacondone_iter is
cleaning the beacon skb, whereas rt73usb_write_beacon is still using it.
* In case of two near updates of beacon: first as the result of set_tim
and second as the result of a call from an application (e.g. hostapd).
This patch fixes the race condition by rearranging the update logic and
guarding rt2x00_intf->beacon->skb with a mutex.

Signed-off-by: Igor Perminov <igor.perminov@inbox.ru>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-08-14 09:13:53 -04:00
..
Kconfig rt2x00: move experimental on kconfig only to rt2800usb 2009-08-04 16:43:22 -04:00
Makefile rt2x00: use wiphy rfkill interface 2009-07-10 15:02:27 -04:00
rt2x00.h rt2x00: Fix for race condition while update beacon 2009-08-14 09:13:53 -04:00
rt2x00config.c rt2x00: Remove usage of deprecated radio_enabled & IEEE80211_CONF_CHANGE_RADIO_ENABLED 2009-08-14 09:13:51 -04:00
rt2x00crypto.c rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00
rt2x00debug.c wireless: beyond ARRAY_SIZE of intf->crypto_stats 2009-05-20 14:29:55 -04:00
rt2x00debug.h rt2x00: Update copyright year to 2009 2009-01-29 16:00:45 -05:00
rt2x00dev.c rt2x00: Fix for race condition while update beacon 2009-08-14 09:13:53 -04:00
rt2x00dump.h rt2x00: Update copyright year to 2009 2009-01-29 16:00:45 -05:00
rt2x00firmware.c rt2x00: Validate firmware in driver 2009-02-09 15:03:35 -05:00
rt2x00ht.c rt2x00: Implement support for 802.11n 2009-05-06 15:14:50 -04:00
rt2x00leds.c rt2x00: fix led naming 2009-02-09 15:03:47 -05:00
rt2x00leds.h rt2x00: Update copyright year to 2009 2009-01-29 16:00:45 -05:00
rt2x00lib.h rt2x00: Don't alter rt2x00dev->default_ant 2009-07-27 15:24:08 -04:00
rt2x00link.c rt2x00: Fix rounding errors in RSSI average calculation 2009-08-14 09:13:52 -04:00
rt2x00mac.c rt2x00: Fix for race condition while update beacon 2009-08-14 09:13:53 -04:00
rt2x00pci.c rt2x00: Move Move pci_dev specific access to rt2x00pci 2009-04-22 16:54:29 -04:00
rt2x00pci.h rt2x00: Update copyright year to 2009 2009-01-29 16:00:45 -05:00
rt2x00queue.c rt2x00: Fix for race condition while update beacon 2009-08-14 09:13:53 -04:00
rt2x00queue.h rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00
rt2x00reg.h rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00
rt2x00usb.c rt2x00: Don't free register information on suspend 2009-04-20 16:36:26 -04:00
rt2x00usb.h rt2x00: Add kill_tx_queue callback function 2009-02-09 15:03:34 -05:00
rt61pci.c rt61pci: fix module reloading 2009-08-04 16:44:24 -04:00
rt61pci.h rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00
rt73usb.c rt2x00: Implement set_tim callback for all drivers 2009-07-24 15:05:11 -04:00
rt73usb.h rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00
rt2400pci.c rt2x00: Implement set_tim callback for all drivers 2009-07-24 15:05:11 -04:00
rt2400pci.h rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00
rt2500pci.c rt2x00: Implement set_tim callback for all drivers 2009-07-24 15:05:11 -04:00
rt2500pci.h rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00
rt2500usb.c rt2x00: Implement set_tim callback for all drivers 2009-07-24 15:05:11 -04:00
rt2500usb.h rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00
rt2800usb.c rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00
rt2800usb.h rt2x00: Comment spellchecking 2009-07-24 15:05:26 -04:00