diff --git a/[refs] b/[refs] index e55d38322a8f..f5219dc27eb2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 637ccc27f46f2232267e689b6f8eb744f78f4810 +refs/heads/master: 0429a6fa6be9489bf451e9fcc0f97341e4a356b6 diff --git a/trunk/drivers/net/wireless/brcm80211/brcmfmac/usb.c b/trunk/drivers/net/wireless/brcm80211/brcmfmac/usb.c index 914c56fe6c5f..22eae57d9546 100644 --- a/trunk/drivers/net/wireless/brcm80211/brcmfmac/usb.c +++ b/trunk/drivers/net/wireless/brcm80211/brcmfmac/usb.c @@ -467,7 +467,11 @@ static void brcmf_usb_rx_complete(struct urb *urb) devinfo->bus_pub.bus->dstats.rx_errors++; } else brcmf_rx_packet(devinfo->dev, ifidx, skb); - brcmf_usb_rx_refill(devinfo, req); + /* zero lenght packets indicate usb "failure". Do not refill */ + if (urb->actual_length) + brcmf_usb_rx_refill(devinfo, req); + else + brcmf_usb_enq(devinfo, &devinfo->rx_freeq, req, NULL); } else { brcmu_pkt_buf_free_skb(skb); brcmf_usb_enq(devinfo, &devinfo->rx_freeq, req, NULL);