Skip to content

Commit 25c6ffb

Browse files
tstrukherbertx
authored andcommitted
crypto: qat - check if PF is running
Before VF sends a signal to PF it should check if PF is still running. Tested-by: Suman Bangalore Sathyanarayana <sumanx.bangalore.sathyanarayana@intel.com> Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 parent 02dc8d6 commit 25c6ffb

File tree

6 files changed

+14
-4
lines changed

6 files changed

+14
-4
lines changed

drivers/crypto/qat/qat_c3xxxvf/adf_drv.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,8 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
238238
if (ret)
239239
goto out_err_free_reg;
240240

241+
set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
242+
241243
ret = adf_dev_init(accel_dev);
242244
if (ret)
243245
goto out_err_dev_shutdown;

drivers/crypto/qat/qat_c62xvf/adf_drv.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,8 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
238238
if (ret)
239239
goto out_err_free_reg;
240240

241+
set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
242+
241243
ret = adf_dev_init(accel_dev);
242244
if (ret)
243245
goto out_err_dev_shutdown;

drivers/crypto/qat/qat_common/adf_common_drv.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
#define ADF_STATUS_AE_INITIALISED 4
6868
#define ADF_STATUS_AE_UCODE_LOADED 5
6969
#define ADF_STATUS_AE_STARTED 6
70-
#define ADF_STATUS_ORPHAN_TH_RUNNING 7
70+
#define ADF_STATUS_PF_RUNNING 7
7171
#define ADF_STATUS_IRQ_ALLOCATED 8
7272

7373
enum adf_dev_reset_mode {

drivers/crypto/qat/qat_common/adf_vf2pf_msg.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ int adf_vf2pf_init(struct adf_accel_dev *accel_dev)
6666
"Failed to send Init event to PF\n");
6767
return -EFAULT;
6868
}
69+
set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
6970
return 0;
7071
}
7172
EXPORT_SYMBOL_GPL(adf_vf2pf_init);
@@ -83,8 +84,9 @@ void adf_vf2pf_shutdown(struct adf_accel_dev *accel_dev)
8384
u32 msg = (ADF_VF2PF_MSGORIGIN_SYSTEM |
8485
(ADF_VF2PF_MSGTYPE_SHUTDOWN << ADF_VF2PF_MSGTYPE_SHIFT));
8586

86-
if (adf_iov_putmsg(accel_dev, msg, 0))
87-
dev_err(&GET_DEV(accel_dev),
88-
"Failed to send Shutdown event to PF\n");
87+
if (test_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status))
88+
if (adf_iov_putmsg(accel_dev, msg, 0))
89+
dev_err(&GET_DEV(accel_dev),
90+
"Failed to send Shutdown event to PF\n");
8991
}
9092
EXPORT_SYMBOL_GPL(adf_vf2pf_shutdown);

drivers/crypto/qat/qat_common/adf_vf_isr.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ static void adf_pf2vf_bh_handler(void *data)
135135
dev_dbg(&GET_DEV(accel_dev),
136136
"Restarting msg received from PF 0x%x\n", msg);
137137

138+
clear_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
139+
138140
stop_data = kzalloc(sizeof(*stop_data), GFP_ATOMIC);
139141
if (!stop_data) {
140142
dev_err(&GET_DEV(accel_dev),

drivers/crypto/qat/qat_dh895xccvf/adf_drv.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,8 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
238238
if (ret)
239239
goto out_err_free_reg;
240240

241+
set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
242+
241243
ret = adf_dev_init(accel_dev);
242244
if (ret)
243245
goto out_err_dev_shutdown;

0 commit comments

Comments
 (0)