From: Srikanth Jampala Date: Sat, 29 Sep 2018 08:19:08 +0000 (+0530) Subject: crypto: cavium/nitrox - use pcie_flr instead of duplicating it X-Git-Tag: rel_imx_5.10.35_2.0.0-somdevices.0~6074^2~21 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=0b501e7a4fdc01b14930345b95c39b93f6472431;p=linux.git crypto: cavium/nitrox - use pcie_flr instead of duplicating it check the flr capability using pcie_has_flr() and do the flr. Signed-off-by: Srikanth Jampala Reviewed-by: Gadam Sreerama Signed-off-by: Herbert Xu --- diff --git a/drivers/crypto/cavium/nitrox/nitrox_main.c b/drivers/crypto/cavium/nitrox/nitrox_main.c index 5bd97cff1405..13436ca98cb5 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_main.c +++ b/drivers/crypto/cavium/nitrox/nitrox_main.c @@ -217,7 +217,7 @@ void nitrox_put_device(struct nitrox_device *ndev) smp_mb__after_atomic(); } -static int nitrox_reset_device(struct pci_dev *pdev) +static int nitrox_device_flr(struct pci_dev *pdev) { int pos = 0; @@ -227,15 +227,10 @@ static int nitrox_reset_device(struct pci_dev *pdev) return -ENOMEM; } - pos = pci_pcie_cap(pdev); - if (!pos) - return -ENOTTY; + /* check flr support */ + if (pcie_has_flr(pdev)) + pcie_flr(pdev); - if (!pci_wait_for_pending_transaction(pdev)) - dev_err(&pdev->dev, "waiting for pending transaction\n"); - - pcie_capability_set_word(pdev, PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_BCR_FLR); - msleep(100); pci_restore_state(pdev); return 0; @@ -345,7 +340,7 @@ static int nitrox_probe(struct pci_dev *pdev, return err; /* do FLR */ - err = nitrox_reset_device(pdev); + err = nitrox_device_flr(pdev); if (err) { dev_err(&pdev->dev, "FLR failed\n"); pci_disable_device(pdev);