crypto: sun4i-ss - use GENMASK to generate masks
authorAntoine Ténart <antoine.tenart@free-electrons.com>
Thu, 1 Jun 2017 19:39:00 +0000 (21:39 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 19 Jun 2017 06:19:51 +0000 (14:19 +0800)
Use the GENMASK helper instead of custom calculations to generate masks,
It also helps the readability.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Acked-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/sunxi-ss/sun4i-ss-hash.c

index 0c2efc88bc0a6e16349c83de4d59e783bd7c952d..685de5b6ab17b4111fe7e829282a90c98b170f96 100644 (file)
@@ -384,11 +384,14 @@ hash_final:
                        writesl(ss->base + SS_RXFIFO, op->buf, nwait);
                        op->byte_count += 4 * nwait;
                }
+
                nbw = op->len - 4 * nwait;
-               wb = *(u32 *)(op->buf + nwait * 4);
-               wb &= (0xFFFFFFFF >> (4 - nbw) * 8);
+               if (nbw) {
+                       wb = *(u32 *)(op->buf + nwait * 4);
+                       wb &= GENMASK((nbw * 8) - 1, 0);
 
-               op->byte_count += nbw;
+                       op->byte_count += nbw;
+               }
        }
 
        /* write the remaining bytes of the nbw buffer */