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 <Jampala.Srikanth@cavium.com>
Reviewed-by: Gadam Sreerama <sgadam@cavium.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Srikanth Jampala 2018-09-29 13:49:08 +05:30 committed by Herbert Xu
parent 80e73c8ad6
commit 0b501e7a4f

View file

@ -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);