aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas_tf/if_usb.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2010-05-11 06:42:04 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-05-12 16:28:52 -0400
commitb8d92c9c141ee3dc9b3537b1f0ffb4a54ea8d9b2 (patch)
tree9dee2ac8738e17242e2c891e8941dd43ca9c9189 /drivers/net/wireless/libertas_tf/if_usb.c
parent562db532760827f6ce30801a08e6b568848bc9f2 (diff)
mac80211: don't process work item with wrong frame
When we process a frame, we currently just match it to the work struct by the MAC addresses, and not by the work type. This means that we can end up doing the work for an association request item when (for whatever reason) we receive another frame type, for example a probe response. Processing the wrong type of frame will lead to completely invalid data being processed, and will lead to various problems like thinking the association was successful even if the AP never sent an assocation response. Fix this by making each processing function check that it is invoked for the right work struct type only and continue processing otherwise (and drop frames that we didn't expect). This bug was uncovered during the debugging for https://bugzilla.kernel.org/show_bug.cgi?id=15862 but doesn't seem to be the cause for any of the various problems reported there. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas_tf/if_usb.c')
0 files changed, 0 insertions, 0 deletions