From: Hante Meuleman Date: Wed, 29 Jan 2014 14:32:16 +0000 (+0100) Subject: brcmfmac: fix sdio sending of large buffers. X-Git-Tag: firefly_0821_release~176^2~4167^2~18^2^2~360 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=79c868e5ada93601c8107a6d08fbb1e0d9348b94;p=firefly-linux-kernel-4.4.55.git brcmfmac: fix sdio sending of large buffers. the function brcmf_sdiod_ramrw is supposed to be able to send large blobs of data. However inside the loop the skb->len field did not correctly get reset each round. As a result only small blobs could be sent. This patch fixes this problem. Reviewed-by: Arend Van Spriel Reviewed-by: Franky (Zhenhui) Lin Reviewed-by: Pieter-Paul Giesberts Reviewed-by: Daniel (Deognyoun) Kim Signed-off-by: Hante Meuleman Signed-off-by: Arend van Spriel Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c index 5711fd6f551a..07e7d2520257 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c @@ -826,7 +826,7 @@ brcmf_sdiod_ramrw(struct brcmf_sdio_dev *sdiodev, bool write, u32 address, } if (!write) memcpy(data, pkt->data, dsize); - skb_trim(pkt, dsize); + skb_trim(pkt, 0); /* Adjust for next transfer (if any) */ size -= dsize;