[PATCH] staging: brcm80211: remove assert to avoid panic on 2.6.37 kernel

Arend van Spriel arend at broadcom.com
Wed Jan 19 13:19:02 UTC 2011


The driver assumed it would receive skb packets from MAC80211 which
are not cloned. To guard this assumption an assert was placed in
the transmit routine. As of kernel 2.6.37 it turns out MAC80211 does
pass skb packets that are cloned. The assert is also not needed as
it does not lead to a failure state in our driver when the packet is
cloned. Therefore the assert can safely be removed.

> commit f8a0a781488ec7288d1049e5d2022850aa98f7b6
> Author: Felix Fietkau <nbd at openwrt.org>
> Date:   Sat Dec 18 19:30:50 2010 +0100
>
>     mac80211: fix potentially redundant skb data copying
>
>     When an skb is shared, it needs to be duplicated, along with its data buffer
>     If the skb does not have enough headroom, using skb_copy might cause the dat
>     buffer to be copied twice (once by skb_copy and once by pskb_expand_head).
>     Fix this by using skb_clone initially and letting ieee80211_skb_resize sort
>     out the rest.
>
>     Signed-off-by: Felix Fietkau <nbd at openwrt.org>
>     Signed-off-by: John W. Linville <linville at tuxdriver.com>
>

Acked-by: Brett Rudley <brudley at broadcom.com>
Signed-off-by: Arend van Spriel <arend at broadcom.com>
---
 drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
 delete mode 100644 drivers/staging/vme/bridges/Module.symvers

diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c
index 5eb41d6..683bc5f 100644
--- a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c
+++ b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c
@@ -5137,7 +5137,6 @@ wlc_sendpkt_mac80211(struct wlc_info *wlc, struct sk_buff *sdu,
 	fifo = prio2fifo[prio];
 
 	ASSERT((uint) skb_headroom(sdu) >= TXOFF);
-	ASSERT(!(sdu->cloned));
 	ASSERT(!(sdu->next));
 	ASSERT(!(sdu->prev));
 	ASSERT(fifo < NFIFO);
diff --git a/drivers/staging/vme/bridges/Module.symvers b/drivers/staging/vme/bridges/Module.symvers
deleted file mode 100644
index e69de29..0000000
-- 
1.7.1





More information about the devel mailing list