Commit 195404db authored by Christophe Leroy's avatar Christophe Leroy Committed by Herbert Xu

crypto: talitos - Endianess in current_desc_hdr()

current_desc_hdr() compares the value of the current descriptor
with the next_desc member of the talitos_desc struct.

While the current descriptor is obtained from in_be32() which
return CPU ordered bytes, next_desc member is in big endian order.

Convert the current descriptor into big endian before comparing it
with next_desc.

This fixes a sparse warning.

Fixes: 37b5e889 ("crypto: talitos - chain in buffered data for ahash on SEC1")
Signed-off-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent d7228694
...@@ -478,7 +478,7 @@ static u32 current_desc_hdr(struct device *dev, int ch) ...@@ -478,7 +478,7 @@ static u32 current_desc_hdr(struct device *dev, int ch)
iter = tail; iter = tail;
while (priv->chan[ch].fifo[iter].dma_desc != cur_desc && while (priv->chan[ch].fifo[iter].dma_desc != cur_desc &&
priv->chan[ch].fifo[iter].desc->next_desc != cur_desc) { priv->chan[ch].fifo[iter].desc->next_desc != cpu_to_be32(cur_desc)) {
iter = (iter + 1) & (priv->fifo_len - 1); iter = (iter + 1) & (priv->fifo_len - 1);
if (iter == tail) { if (iter == tail) {
dev_err(dev, "couldn't locate current descriptor\n"); dev_err(dev, "couldn't locate current descriptor\n");
...@@ -486,7 +486,7 @@ static u32 current_desc_hdr(struct device *dev, int ch) ...@@ -486,7 +486,7 @@ static u32 current_desc_hdr(struct device *dev, int ch)
} }
} }
if (priv->chan[ch].fifo[iter].desc->next_desc == cur_desc) { if (priv->chan[ch].fifo[iter].desc->next_desc == cpu_to_be32(cur_desc)) {
struct talitos_edesc *edesc; struct talitos_edesc *edesc;
edesc = container_of(priv->chan[ch].fifo[iter].desc, edesc = container_of(priv->chan[ch].fifo[iter].desc,
......
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