Commit 3935600a authored by Per Ellefsen's avatar Per Ellefsen Committed by David S. Miller

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: default avatarPer Ellefsen <per.ellefsen@stericsson.com>
Signed-off-by: default avatarSjur Brændeland <sjur.brandeland@stericsson.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent eaa8c5f3
...@@ -693,8 +693,6 @@ static void cfhsi_rx_done(struct cfhsi *cfhsi) ...@@ -693,8 +693,6 @@ static void cfhsi_rx_done(struct cfhsi *cfhsi)
*/ */
memcpy(rx_buf, (u8 *)piggy_desc, memcpy(rx_buf, (u8 *)piggy_desc,
CFHSI_DESC_SHORT_SZ); CFHSI_DESC_SHORT_SZ);
/* Mark no embedded frame here */
piggy_desc->offset = 0;
if (desc_pld_len == -EPROTO) if (desc_pld_len == -EPROTO)
goto out_of_sync; goto out_of_sync;
} }
...@@ -737,6 +735,8 @@ static void cfhsi_rx_done(struct cfhsi *cfhsi) ...@@ -737,6 +735,8 @@ static void cfhsi_rx_done(struct cfhsi *cfhsi)
/* Extract any payload in piggyback descriptor. */ /* Extract any payload in piggyback descriptor. */
if (cfhsi_rx_desc(piggy_desc, cfhsi) < 0) if (cfhsi_rx_desc(piggy_desc, cfhsi) < 0)
goto out_of_sync; goto out_of_sync;
/* Mark no embedded frame after extracting it */
piggy_desc->offset = 0;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment