diff options
author | Dong Aisheng <aisheng.dong@freescale.com> | 2015-11-05 15:52:09 +0800 |
---|---|---|
committer | Dong Aisheng <aisheng.dong@freescale.com> | 2015-11-16 15:32:46 +0800 |
commit | 45c96b8881eaa2b073b9dfa2a44229accd7409b7 (patch) | |
tree | 045971d37c6bafaefcefefee81885a11e9d44673 | |
parent | d85063b8d4de98a7eecf9e2c6d59bcff7654b6da (diff) |
MLK-11833 bcmdhd: pull back sdpcm_hdrlen length from old skb for new skb
Pull back sdpcm_hdrlen length from old skb as new skb here
is passed to postprocessing.
This is a generic fix. We must have it regardless of host is
non scatter-gather or scatter gather capable.
Suggested by: Vinayak Kamath <vinayak.kamath@broadcom.com>
Signed-off-by: Dong Aisheng <aisheng.dong@freescale.com>
-rw-r--r-- | drivers/net/wireless/bcmdhd/dhd_sdio.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcmdhd/dhd_sdio.c b/drivers/net/wireless/bcmdhd/dhd_sdio.c index 4b628e94234b..83b65f98861e 100644 --- a/drivers/net/wireless/bcmdhd/dhd_sdio.c +++ b/drivers/net/wireless/bcmdhd/dhd_sdio.c @@ -1877,6 +1877,11 @@ static int dhdsdio_txpkt_preprocess(dhd_bus_t *bus, void *pkt, int chan, int txs PKTALIGN(osh, tmp_pkt, PKTLEN(osh, pkt), DHD_SDALIGN); bcopy(PKTDATA(osh, pkt), PKTDATA(osh, tmp_pkt), PKTLEN(osh, pkt)); *new_pkt = tmp_pkt; + /* + * pull back sdpcm_hdrlen length from old skb as new skb here + * is passed to postprocessing + */ + PKTPULL(osh, pkt, sdpcm_hdrlen); pkt = tmp_pkt; } |