diff mbox series

crypto: hisilicon - Add check for pci_find_ext_capability

Message ID 20231109021308.1859881-1-nichen@iscas.ac.cn
State New
Headers show
Series crypto: hisilicon - Add check for pci_find_ext_capability | expand

Commit Message

Chen Ni Nov. 9, 2023, 2:13 a.m. UTC
Add check for pci_find_ext_capability() and return the error if it
fails in order to transfer the error.

Fixes: 6c6dd5802c2d ("crypto: hisilicon/qm - add controller reset interface")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
---
 drivers/crypto/hisilicon/qm.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Weili Qian Nov. 17, 2023, 2:07 a.m. UTC | #1
On 2023/11/9 10:13, Chen Ni wrote:
> Add check for pci_find_ext_capability() and return the error if it
> fails in order to transfer the error.
> 
> Fixes: 6c6dd5802c2d ("crypto: hisilicon/qm - add controller reset interface")
> Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
> ---
>  drivers/crypto/hisilicon/qm.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
> index 18599f3634c3..adbab1286d4a 100644
> --- a/drivers/crypto/hisilicon/qm.c
> +++ b/drivers/crypto/hisilicon/qm.c
> @@ -3967,6 +3967,9 @@ static int qm_set_vf_mse(struct hisi_qm *qm, bool set)
>  	int i;
>  
>  	pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_SRIOV);
> +	if (!pos)
> +		return -ENODEV;
> +

Thanks for your patch. The function qm_set_vf_mse() is called only after SRIOV
is enabled, so function pci_find_ext_capability() does not return 0. This check
makes no sense.

Thanks,
Weili
>  	pci_read_config_word(pdev, pos + PCI_SRIOV_CTRL, &sriov_ctrl);
>  	if (set)
>  		sriov_ctrl |= PCI_SRIOV_CTRL_MSE;
>
Herbert Xu Nov. 17, 2023, 10:36 a.m. UTC | #2
On Fri, Nov 17, 2023 at 10:07:00AM +0800, Weili Qian wrote:
>
> Thanks for your patch. The function qm_set_vf_mse() is called only after SRIOV
> is enabled, so function pci_find_ext_capability() does not return 0. This check
> makes no sense.

Perhaps we could add a comment instead?

Thanks,
Weili Qian Nov. 22, 2023, 12:11 p.m. UTC | #3
On 2023/11/17 18:36, Herbert Xu wrote:
> On Fri, Nov 17, 2023 at 10:07:00AM +0800, Weili Qian wrote:
>>
>> Thanks for your patch. The function qm_set_vf_mse() is called only after SRIOV
>> is enabled, so function pci_find_ext_capability() does not return 0. This check
>> makes no sense.
> 
> Perhaps we could add a comment instead?
> 
> Thanks,
> 

Okay, I will add a comment for this.

Thanks,
Weili
diff mbox series

Patch

diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index 18599f3634c3..adbab1286d4a 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -3967,6 +3967,9 @@  static int qm_set_vf_mse(struct hisi_qm *qm, bool set)
 	int i;
 
 	pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_SRIOV);
+	if (!pos)
+		return -ENODEV;
+
 	pci_read_config_word(pdev, pos + PCI_SRIOV_CTRL, &sriov_ctrl);
 	if (set)
 		sriov_ctrl |= PCI_SRIOV_CTRL_MSE;