aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c
diff options
context:
space:
mode:
authorMarco Chiappero <marco.chiappero@intel.com>2021-08-12 21:21:16 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2021-08-21 15:44:55 +0800
commit3213488db01e7ddc389be2390cc154d926e714a2 (patch)
treec68a007c1302af4ff503815d6e9eccb76974c775 /drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c
parentcrypto: qat - prevent spurious MSI interrupt in VF (diff)
downloadlinux-dev-3213488db01e7ddc389be2390cc154d926e714a2.tar.xz
linux-dev-3213488db01e7ddc389be2390cc154d926e714a2.zip
crypto: qat - prevent spurious MSI interrupt in PF
There is a chance that the PFVF handler, adf_vf2pf_req_hndl(), runs twice for the same request when multiple interrupts come simultaneously from different VFs. Since the source VF is identified by a positional bit set in the ERRSOU registers and that is not cleared until the bottom half completes, new top halves from other VFs may reschedule a second bottom half for previous interrupts. This patch solves the problem in the ISR handler by not considering sources with already disabled interrupts (and processing pending), as set in the ERRMSK registers. Also, move some definitions where actually needed. Signed-off-by: Marco Chiappero <marco.chiappero@intel.com> Co-developed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Reviewed-by: Fiona Trahe <fiona.trahe@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c')
0 files changed, 0 insertions, 0 deletions