mac80211 sets the carrier on an IBSS interface even when no network is
joined. Ignore garbage frames transmitted on a disconnected IBSS
interface without printing warnings.
Signed-off-by: Shahar Lev <shahar@wizery.com>
[merged with wlvif changes]
Signed-off-by: Luciano Coelho <coelho@ti.com>
}
hlid = wl12xx_tx_get_hlid(wl, wlvif, skb);
if (hlid == WL12XX_INVALID_LINK_ID) {
- wl1271_error("invalid hlid. dropping skb 0x%p", skb);
+ if (wlvif->bss_type == BSS_TYPE_IBSS &&
+ !test_bit(WLVIF_FLAG_IBSS_JOINED, &wlvif->flags)) {
+ /* It's ok to drop packets when not joined to IBSS */
+ wl1271_debug(DEBUG_TX, "dropping skb while IBSS not "
+ " joined");
+ } else {
+ wl1271_error("invalid hlid. dropping skb 0x%p", skb);
+ }
+
return -EINVAL;
}