diff options
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c index cf857f1edf8c..7fef9b5ba003 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | |||
@@ -14,8 +14,6 @@ | |||
14 | * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 14 | * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt | ||
18 | |||
19 | #include <linux/types.h> | 17 | #include <linux/types.h> |
20 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
21 | #include <linux/kthread.h> | 19 | #include <linux/kthread.h> |
@@ -1169,7 +1167,6 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq) | |||
1169 | int errcode; | 1167 | int errcode; |
1170 | u8 doff, sfdoff; | 1168 | u8 doff, sfdoff; |
1171 | 1169 | ||
1172 | int ifidx = 0; | ||
1173 | bool usechain = bus->use_rxchain; | 1170 | bool usechain = bus->use_rxchain; |
1174 | 1171 | ||
1175 | struct brcmf_sdio_read rd_new; | 1172 | struct brcmf_sdio_read rd_new; |
@@ -1388,13 +1385,6 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq) | |||
1388 | skb_unlink(pfirst, &bus->glom); | 1385 | skb_unlink(pfirst, &bus->glom); |
1389 | brcmu_pkt_buf_free_skb(pfirst); | 1386 | brcmu_pkt_buf_free_skb(pfirst); |
1390 | continue; | 1387 | continue; |
1391 | } else if (brcmf_proto_hdrpull(bus->sdiodev->dev, | ||
1392 | &ifidx, pfirst) != 0) { | ||
1393 | brcmf_err("rx protocol error\n"); | ||
1394 | bus->sdiodev->bus_if->dstats.rx_errors++; | ||
1395 | skb_unlink(pfirst, &bus->glom); | ||
1396 | brcmu_pkt_buf_free_skb(pfirst); | ||
1397 | continue; | ||
1398 | } | 1388 | } |
1399 | 1389 | ||
1400 | brcmf_dbg_hex_dump(BRCMF_GLOM_ON(), | 1390 | brcmf_dbg_hex_dump(BRCMF_GLOM_ON(), |
@@ -1407,7 +1397,7 @@ static u8 brcmf_sdbrcm_rxglom(struct brcmf_sdio *bus, u8 rxseq) | |||
1407 | } | 1397 | } |
1408 | /* sent any remaining packets up */ | 1398 | /* sent any remaining packets up */ |
1409 | if (bus->glom.qlen) | 1399 | if (bus->glom.qlen) |
1410 | brcmf_rx_frame(bus->sdiodev->dev, ifidx, &bus->glom); | 1400 | brcmf_rx_frames(bus->sdiodev->dev, &bus->glom); |
1411 | 1401 | ||
1412 | bus->sdcnt.rxglomframes++; | 1402 | bus->sdcnt.rxglomframes++; |
1413 | bus->sdcnt.rxglompkts += bus->glom.qlen; | 1403 | bus->sdcnt.rxglompkts += bus->glom.qlen; |
@@ -1558,10 +1548,10 @@ static void brcmf_pad(struct brcmf_sdio *bus, u16 *pad, u16 *rdlen) | |||
1558 | static uint brcmf_sdio_readframes(struct brcmf_sdio *bus, uint maxframes) | 1548 | static uint brcmf_sdio_readframes(struct brcmf_sdio *bus, uint maxframes) |
1559 | { | 1549 | { |
1560 | struct sk_buff *pkt; /* Packet for event or data frames */ | 1550 | struct sk_buff *pkt; /* Packet for event or data frames */ |
1551 | struct sk_buff_head pktlist; /* needed for bus interface */ | ||
1561 | u16 pad; /* Number of pad bytes to read */ | 1552 | u16 pad; /* Number of pad bytes to read */ |
1562 | uint rxleft = 0; /* Remaining number of frames allowed */ | 1553 | uint rxleft = 0; /* Remaining number of frames allowed */ |
1563 | int sdret; /* Return code from calls */ | 1554 | int sdret; /* Return code from calls */ |
1564 | int ifidx = 0; | ||
1565 | uint rxcount = 0; /* Total frames read */ | 1555 | uint rxcount = 0; /* Total frames read */ |
1566 | struct brcmf_sdio_read *rd = &bus->cur_read, rd_new; | 1556 | struct brcmf_sdio_read *rd = &bus->cur_read, rd_new; |
1567 | u8 head_read = 0; | 1557 | u8 head_read = 0; |
@@ -1760,15 +1750,11 @@ static uint brcmf_sdio_readframes(struct brcmf_sdio *bus, uint maxframes) | |||
1760 | if (pkt->len == 0) { | 1750 | if (pkt->len == 0) { |
1761 | brcmu_pkt_buf_free_skb(pkt); | 1751 | brcmu_pkt_buf_free_skb(pkt); |
1762 | continue; | 1752 | continue; |
1763 | } else if (brcmf_proto_hdrpull(bus->sdiodev->dev, &ifidx, | ||
1764 | pkt) != 0) { | ||
1765 | brcmf_err("rx protocol error\n"); | ||
1766 | brcmu_pkt_buf_free_skb(pkt); | ||
1767 | bus->sdiodev->bus_if->dstats.rx_errors++; | ||
1768 | continue; | ||
1769 | } | 1753 | } |
1770 | 1754 | ||
1771 | brcmf_rx_packet(bus->sdiodev->dev, ifidx, pkt); | 1755 | skb_queue_head_init(&pktlist); |
1756 | skb_queue_tail(&pktlist, pkt); | ||
1757 | brcmf_rx_frames(bus->sdiodev->dev, &pktlist); | ||
1772 | } | 1758 | } |
1773 | 1759 | ||
1774 | rxcount = maxframes - rxleft; | 1760 | rxcount = maxframes - rxleft; |