diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd.h b/drivers/net/wireless/brcm80211/brcmfmac/dhd.h index e403ad09c406f2f9e68cee0f0f1785d8acc05312..027083e4fe02d4533d5f25aa01e5f94dc36c364b 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd.h +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd.h @@ -712,16 +712,16 @@ extern bool brcmf_c_prec_enq(struct device *dev, struct pktq *q, struct sk_buff *pkt, int prec); /* Receive frame for delivery to OS. Callee disposes of rxp. */ -extern void brcmf_rx_frame(struct brcmf_pub *drvr, int ifidx, +extern void brcmf_rx_frame(struct device *dev, int ifidx, struct sk_buff_head *rxlist); -static inline void brcmf_rx_packet(struct brcmf_pub *drvr, int ifidx, +static inline void brcmf_rx_packet(struct device *dev, 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); + brcmf_rx_frame(dev, ifidx, &q); } /* Return pointer to interface name */ diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c index e095b6f146ff672685cdd895c30ff96ab72ab191..3efa301a7b34147645e86d8f2ec9997aa67fc77f 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c @@ -381,7 +381,7 @@ static int brcmf_host_event(struct brcmf_pub *drvr, int *ifidx, return bcmerror; } -void brcmf_rx_frame(struct brcmf_pub *drvr, int ifidx, +void brcmf_rx_frame(struct device *dev, int ifidx, struct sk_buff_head *skb_list) { unsigned char *eth; @@ -390,6 +390,8 @@ void brcmf_rx_frame(struct brcmf_pub *drvr, int ifidx, struct sk_buff *skb, *pnext; struct brcmf_if *ifp; struct brcmf_event_msg event; + struct brcmf_bus *bus_if = dev_get_drvdata(dev); + struct brcmf_pub *drvr = bus_if->drvr; brcmf_dbg(TRACE, "Enter\n"); diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c index 5d392c9b469fd691d999c0987381ed3098bde994..7de002b84f14f2534501f05c2a57fdae6250f2c6 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c @@ -1461,7 +1461,7 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq) /* sent any remaining packets up */ if (bus->glom.qlen) { up(&bus->sdsem); - brcmf_rx_frame(bus->drvr, ifidx, &bus->glom); + brcmf_rx_frame(bus->sdiodev->dev, ifidx, &bus->glom); down(&bus->sdsem); } @@ -2062,7 +2062,7 @@ brcmf_sdbrcm_readframes(struct brcmf_sdio *bus, uint maxframes, bool *finished) /* Unlock during rx call */ up(&bus->sdsem); - brcmf_rx_packet(bus->drvr, ifidx, pkt); + brcmf_rx_packet(bus->sdiodev->dev, ifidx, pkt); down(&bus->sdsem); } rxcount = maxframes - rxleft;