crypto: qat - fix double free during reset
[platform/kernel/linux-starfive.git] / drivers / crypto / intel / qat / qat_common / adf_aer.c
index 04af32a..a39e70b 100644 (file)
@@ -92,7 +92,8 @@ static void adf_device_reset_worker(struct work_struct *work)
        if (adf_dev_restart(accel_dev)) {
                /* The device hanged and we can't restart it so stop here */
                dev_err(&GET_DEV(accel_dev), "Restart device failed\n");
-               kfree(reset_data);
+               if (reset_data->mode == ADF_DEV_RESET_ASYNC)
+                       kfree(reset_data);
                WARN(1, "QAT: device restart failed. Device is unusable\n");
                return;
        }