diff options
author | Arend van Spriel <arend@broadcom.com> | 2011-11-22 17:21:36 -0800 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-28 14:43:26 -0500 |
commit | 0b45bf74f91e781b74bfadb8bb08ef341b6befd3 (patch) | |
tree | 07544f2ba386262ae601cba1ba3e71092526dcfe /drivers/net/wireless/brcm80211/brcmfmac/dhd.h | |
parent | e7979ac7826e3170c685e7fe6d8c594ac505a30a (diff) | |
download | op-kernel-dev-0b45bf74f91e781b74bfadb8bb08ef341b6befd3.zip op-kernel-dev-0b45bf74f91e781b74bfadb8bb08ef341b6befd3.tar.gz |
brcm80211: fmac: cleanup receive path using proper skb_queue functions
In the receive path there was still code using the next pointer to
access all packets in skb_queue. This patch fixes that.
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Alwin Beukers <alwin@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd.h')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd.h b/drivers/net/wireless/brcm80211/brcmfmac/dhd.h index 6da519e..7962f64 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd.h +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd.h @@ -699,7 +699,16 @@ extern bool brcmf_c_prec_enq(struct brcmf_pub *drvr, struct pktq *q, /* Receive frame for delivery to OS. Callee disposes of rxp. */ extern void brcmf_rx_frame(struct brcmf_pub *drvr, int ifidx, - struct sk_buff *rxp, int numpkt); + struct sk_buff_head *rxlist); +static inline void brcmf_rx_packet(struct brcmf_pub *drvr, int ifidx, + struct sk_buff *pkt) +{ + struct sk_buff_head q; + + skb_queue_head_init(&q); + skb_queue_tail(&q, pkt); + brcmf_rx_frame(drvr, ifidx, &q); +} /* Return pointer to interface name */ extern char *brcmf_ifname(struct brcmf_pub *drvr, int idx); |