summaryrefslogtreecommitdiffstats
path: root/drivers/net/caif
diff options
context:
space:
mode:
authorPer Ellefsen <Per.Ellefsen@stericsson.com>2012-06-24 13:01:37 +0200
committerDavid S. Miller <davem@davemloft.net>2012-06-26 01:07:22 +0200
commit3935600a7f341c00b0def2ed8870669ab2c05493 (patch)
treeccb5454e6d08cc9fbfe4091097de92a2bd66643a /drivers/net/caif
parentcaif: Clear shutdown mask to zero at reconnect. (diff)
downloadlinux-3935600a7f341c00b0def2ed8870669ab2c05493.tar.xz
linux-3935600a7f341c00b0def2ed8870669ab2c05493.zip
caif-hsi: Bugfix - Piggyback'ed embedded CAIF frame lost
When receiving a piggyback'ed descriptor containing an embedded frame, but no payload, the embedded frame was lost. Signed-off-by: Per Ellefsen <per.ellefsen@stericsson.com> Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/caif')
-rw-r--r--drivers/net/caif/caif_hsi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/caif/caif_hsi.c b/drivers/net/caif/caif_hsi.c
index 1520814c77c7..1f52ff3076b4 100644
--- a/drivers/net/caif/caif_hsi.c
+++ b/drivers/net/caif/caif_hsi.c
@@ -693,8 +693,6 @@ static void cfhsi_rx_done(struct cfhsi *cfhsi)
*/
memcpy(rx_buf, (u8 *)piggy_desc,
CFHSI_DESC_SHORT_SZ);
- /* Mark no embedded frame here */
- piggy_desc->offset = 0;
if (desc_pld_len == -EPROTO)
goto out_of_sync;
}
@@ -737,6 +735,8 @@ static void cfhsi_rx_done(struct cfhsi *cfhsi)
/* Extract any payload in piggyback descriptor. */
if (cfhsi_rx_desc(piggy_desc, cfhsi) < 0)
goto out_of_sync;
+ /* Mark no embedded frame after extracting it */
+ piggy_desc->offset = 0;
}
}