crypto: cavium/nitrox - fix for command corruption in queue full case with backlog...
authorSrikanth Jampala <Jampala.Srikanth@cavium.com>
Wed, 22 Aug 2018 07:10:52 +0000 (12:40 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Oct 2018 00:00:58 +0000 (17:00 -0700)
commit59f5838cc95070135fe5137125d4ab7fdb471800
tree88e3ae076da5e3bd3b0ef0f55e692871bce58fd2
parent243af256387c60f4ccdbe6b009425bb4efa0f00e
crypto: cavium/nitrox - fix for command corruption in queue full case with backlog submissions.

[ Upstream commit 3d7c82060d1fe65bde4023aac41a0b1bd7718e07 ]

Earlier used to post the current command without checking queue full
     after backlog submissions. So, post the current command only after
     confirming the space in queue after backlog submissions.

     Maintain host write index instead of reading device registers
     to get the next free slot to post the command.

     Return -ENOSPC in queue full case.

Signed-off-by: Srikanth Jampala <Jampala.Srikanth@cavium.com>
Reviewed-by: Gadam Sreerama <sgadam@cavium.com>
Tested-by: Jha, Chandan <Chandan.Jha@cavium.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/crypto/cavium/nitrox/nitrox_dev.h
drivers/crypto/cavium/nitrox/nitrox_lib.c
drivers/crypto/cavium/nitrox/nitrox_reqmgr.c