Skip to content
  • Bob Copeland's avatar
    mac80211: enable vif.cab_queue for mesh · 8ffb5c00
    Bob Copeland authored
    
    
    Since mesh powersaving was added, pending bcast/mcast frames may go out the
    CAB queue now.  Unfortunately, the queue was only set up for AP mode, so we
    would try to tx on the IEEE80211_INVAL_HW_QUEUE.  Allow cab_queue for mesh
    interfaces as well.
    
    Fixes the following warning (or crash without MAC80211_VERBOSE_DEBUG):
    
    WARNING: at net/mac80211/tx.c:1223 __ieee80211_tx+0x162/0x35f [mac80211]()
    Modules linked in: mac80211_hwsim mac80211 cfg80211 [...]
    Pid: 3085, comm: avahi-daemon Tainted: G        W    3.8.0-rc1+ #377
    Call Trace:
     [<ffffffff81045c20>] warn_slowpath_common+0x83/0x9c
     [<ffffffff81045c53>] warn_slowpath_null+0x1a/0x1c
     [<ffffffffa083aef0>] __ieee80211_tx+0x162/0x35f [mac80211]
     [<ffffffffa083cb1d>] ieee80211_tx+0xd3/0xf9 [mac80211]
     [<ffffffffa083cc0f>] ieee80211_xmit+0xcc/0xd5 [mac80211]
     [<ffffffffa083db59>] ieee80211_subif_start_xmit+0xc53/0xcd8 [mac80211]
     [<ffffffff81319acd>] dev_hard_start_xmit+0x259/0x3ce
     [<ffffffff81333d6b>] sch_direct_xmit+0x74/0x17d
     [<ffffffff8131a0b1>] dev_queue_xmit+0x230/0x414
     [<ffffffff8134877a>] ip_finish_output2+0x348/0x3aa
     [<ffffffff81349029>] ip_finish_output+0x6c/0x71
     [<ffffffff81349046>] NF_HOOK_COND.constprop.44+0x18/0x58
     [<ffffffff8134a03a>] ip_mc_output+0x134/0x13c
     [<ffffffff8134835a>] dst_output+0x18/0x1c
     [<ffffffff81349a24>] ip_local_out+0x20/0x24
     [<ffffffff8134a8cf>] ip_send_skb+0x16/0x3c
     [<ffffffff8136bfba>] udp_send_skb+0x254/0x2b9
     [<ffffffff8136c85e>] udp_sendmsg+0x5a8/0x7d4
    
    Signed-off-by: default avatarBob Copeland <bob@cozybit.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    8ffb5c00