Patch "crypto: hisilicon/qm - re-enable communicate interrupt before notifying PF" has been added to the 6.0-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    crypto: hisilicon/qm - re-enable communicate interrupt before notifying PF

to the 6.0-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     crypto-hisilicon-qm-re-enable-communicate-interrupt-.patch
and it can be found in the queue-6.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit e090d7bd37b283db6f9f689604eabb9d216391db
Author: Weili Qian <qianweili@xxxxxxxxxx>
Date:   Sat Sep 24 19:04:31 2022 +0800

    crypto: hisilicon/qm - re-enable communicate interrupt before notifying PF
    
    [ Upstream commit ee1537fe3dd89860d0336563891f6cac707d0cb5 ]
    
    After the device is reset, the VF needs to re-enable communication
    interrupt before the VF sends restart complete message to the PF.
    If the interrupt is re-enabled after the VF notifies the PF, the PF
    may fail to send messages to the VF after receiving VF's restart
    complete message.
    
    Fixes: 760fe22cf5e9 ("crypto: hisilicon/qm - update reset flow")
    Signed-off-by: Weili Qian <qianweili@xxxxxxxxxx>
    Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index 2cfb072a218f..180589c73663 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -5776,6 +5776,7 @@ static void qm_pf_reset_vf_done(struct hisi_qm *qm)
 		cmd = QM_VF_START_FAIL;
 	}
 
+	qm_cmd_init(qm);
 	ret = qm_ping_pf(qm, cmd);
 	if (ret)
 		dev_warn(&pdev->dev, "PF responds timeout in reset done!\n");
@@ -5837,7 +5838,6 @@ static void qm_pf_reset_vf_process(struct hisi_qm *qm,
 		goto err_get_status;
 
 	qm_pf_reset_vf_done(qm);
-	qm_cmd_init(qm);
 
 	dev_info(dev, "device reset done.\n");
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux