Browse Source

wl12xx: remove warning message during IBSS Tx

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>
Shahar Lev 13 years ago
parent
commit
48309fd477
1 changed files with 9 additions and 1 deletions
  1. 9 1
      drivers/net/wireless/wl12xx/tx.c

+ 9 - 1
drivers/net/wireless/wl12xx/tx.c

@@ -428,7 +428,15 @@ static int wl1271_prepare_tx_frame(struct wl1271 *wl, struct wl12xx_vif *wlvif,
 	}
 	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;
 	}