From: Igor Perminov Date: Sat, 8 Aug 2009 21:55:18 +0000 (+0200) Subject: rt2x00: Fix for race condition while update beacon X-Git-Tag: v2.6.32-rc1~703^2~367^2~51 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17512dc3b7fc9ff1a60d3748ce87c323df507c3d;p=pandora-kernel.git 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 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville --- Reading git-diff-tree failed