mac80211: Fix TX status reporting for injected data frames
authorJouni Malinen <j@w1.fi>
Sun, 29 Nov 2009 12:29:42 +0000 (14:29 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 4 Dec 2009 19:16:23 +0000 (14:16 -0500)
commit914828fad09269292be1bfa3dfbe78d064f76068
tree115bd36b908e4e9d2a916af386cec32392e08d00
parenta9a29ce674ac62e7bfcb6c1404ca86cda4782988
mac80211: Fix TX status reporting for injected data frames

An earlier optimization on removing unnecessary traffic on cooked
monitor interfaces ("mac80211: reduce the amount of unnecessary traffic
on cooked monitor interfaces ") ended up removing quite a bit more
than just unnecessary traffic. It was not supposed to remove TX status
reporting for injected frames, but ended up doing it by checking the
injected flag in skb->cb only after that field had been cleared with
memset.. Fix this by taking a local copy of the injected flag before
skb->cb is cleared.

This broke user space applications that depend on getting TX status
notifications for injected data frames. For example, STA inactivity
poll from hostapd did not work and ended up kicking out stations even
if they were still present.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/status.c