summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/wl12xx/tx.c
diff options
context:
space:
mode:
authorShahar Lev <shahar@wizery.com>2011-10-07 18:17:25 +0200
committerLuciano Coelho <coelho@ti.com>2011-10-11 19:16:23 +0300
commit48309fd477ef867babb6819f67fe082c133a5fa9 (patch)
tree5a4876a46936385d4d8ebba0f77674d590ced77e /drivers/net/wireless/wl12xx/tx.c
parente5d3625e8741d204e8c3f0a959f92c9e901519aa (diff)
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>
Diffstat (limited to 'drivers/net/wireless/wl12xx/tx.c')
-rw-r--r--drivers/net/wireless/wl12xx/tx.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/tx.c b/drivers/net/wireless/wl12xx/tx.c
index 5351f015fee..27a45e1459c 100644
--- a/drivers/net/wireless/wl12xx/tx.c
+++ b/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;
}