mac80211: fix queue handling crash
authorJohannes Berg <johannes.berg@intel.com>
Thu, 23 May 2013 19:04:38 +0000 (21:04 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 23 May 2013 19:04:38 +0000 (21:04 +0200)
commit2b436312f0919c05804fed5aa4b7f255db196e7a
tree22b74c58d107f770911dc931a9ed25f6790a7af6
parentc815797663b72e3ac1736f1886538152bc48e4af
mac80211: fix queue handling crash

The code I added in "mac80211: don't start new netdev queues
if driver stopped" crashes for monitor and AP VLAN interfaces
because while they have a netdev, they don't have queues set
up by the driver.

To fix the crash, exclude these from queue accounting here
and just start their netdev queues unconditionally.

For monitor, this is the best we can do, as we can redirect
frames there to any other interface and don't know which one
that will since it can be different for each frame.

For AP VLAN interfaces, we can do better later and actually
properly track the queue status. Not doing this is really a
separate bug though.

Reported-by: Ilan Peer <ilan.peer@intel.com>
Reported-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/iface.c