pds_core: use pci_reset_function for health reset
We get the benefit of all the PCI reset locking and recovery if we use the existing pci_reset_function() that will call our local reset handlers. Reviewed-by: Brett Creeley <brett.creeley@amd.com> Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2dac60e062
commit
2cbab3c296
@ -607,8 +607,7 @@ static void pdsc_check_pci_health(struct pdsc *pdsc)
|
||||
if (fw_status != PDS_RC_BAD_PCI)
|
||||
return;
|
||||
|
||||
pdsc_reset_prepare(pdsc->pdev);
|
||||
pdsc_reset_done(pdsc->pdev);
|
||||
pci_reset_function(pdsc->pdev);
|
||||
}
|
||||
|
||||
void pdsc_health_thread(struct work_struct *work)
|
||||
|
@ -284,9 +284,6 @@ int pdsc_devcmd_reset(struct pdsc *pdsc);
|
||||
int pdsc_dev_init(struct pdsc *pdsc);
|
||||
void pdsc_dev_uninit(struct pdsc *pdsc);
|
||||
|
||||
void pdsc_reset_prepare(struct pci_dev *pdev);
|
||||
void pdsc_reset_done(struct pci_dev *pdev);
|
||||
|
||||
int pdsc_intr_alloc(struct pdsc *pdsc, char *name,
|
||||
irq_handler_t handler, void *data);
|
||||
void pdsc_intr_free(struct pdsc *pdsc, int index);
|
||||
|
@ -469,7 +469,7 @@ static void pdsc_restart_health_thread(struct pdsc *pdsc)
|
||||
mod_timer(&pdsc->wdtimer, jiffies + 1);
|
||||
}
|
||||
|
||||
void pdsc_reset_prepare(struct pci_dev *pdev)
|
||||
static void pdsc_reset_prepare(struct pci_dev *pdev)
|
||||
{
|
||||
struct pdsc *pdsc = pci_get_drvdata(pdev);
|
||||
|
||||
@ -486,10 +486,11 @@ void pdsc_reset_prepare(struct pci_dev *pdev)
|
||||
|
||||
pdsc_unmap_bars(pdsc);
|
||||
pci_release_regions(pdev);
|
||||
pci_disable_device(pdev);
|
||||
if (pci_is_enabled(pdev))
|
||||
pci_disable_device(pdev);
|
||||
}
|
||||
|
||||
void pdsc_reset_done(struct pci_dev *pdev)
|
||||
static void pdsc_reset_done(struct pci_dev *pdev)
|
||||
{
|
||||
struct pdsc *pdsc = pci_get_drvdata(pdev);
|
||||
struct device *dev = pdsc->dev;
|
||||
|
Loading…
x
Reference in New Issue
Block a user