mac80211: fix TX warning
authorJohannes Berg <johannes.berg@intel.com>
Thu, 24 Nov 2011 13:47:36 +0000 (14:47 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 28 Nov 2011 19:43:56 +0000 (14:43 -0500)
commit4db4e0a17fb0e7b345b344cde141b252794c2f19
tree13ce0ef31d02d0dafb377e510dda0e4be5b6fbe1
parent4883993841638963fbae2f334899f29309466152
mac80211: fix TX warning

Emmanuel reported that my previous patches to enable
handing all fragments to drivers at once triggered
the warning that the SKB queue wasn't empty. This is
happening when we actually queue up some frames and
don't hand them to the driver (queues are stopped).

The reason for it is that my code that splices the
frame(s) over to the pending queue didn't re-init
the local queue, so skb_queue_empty() was false. Fix
this by using the _init versions of the splicing.

Also, convert the warning to WARN_ON_ONCE.

Reported-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Tested-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/tx.c