@@ -413,8 +413,13 @@ ieee80211_tx_h_multicast_ps_buf(struct ieee80211_tx_data *tx)
if (ieee80211_has_order(hdr->frame_control))
return TX_CONTINUE;
- if (tx->local->hw.flags & IEEE80211_HW_QUEUE_CONTROL)
- info->hw_queue = tx->sdata->vif.cab_queue;
+ if (tx->local->hw.flags & IEEE80211_HW_QUEUE_CONTROL) {
+ if (tx->sdata->vif.cab_queue == IEEE80211_INVAL_HW_QUEUE) {
+ printk(KERN_DEBUG "%s:trying to assign invalid cab_queue for skb %p vif.type=%d\n",
+ __func__, tx->skb, tx->sdata->vif.type);
+ } else
+ info->hw_queue = tx->sdata->vif.cab_queue;
+ }
/* no stations in PS mode */
if (!atomic_read(&ps->num_sta_ps))