|
@@ -104,7 +104,7 @@ static pci_ers_result_t dpc_reset_link(struct pci_dev *pdev)
|
|
|
}
|
|
|
|
|
|
pci_write_config_word(pdev, cap + PCI_EXP_DPC_STATUS,
|
|
|
- PCI_EXP_DPC_STATUS_TRIGGER | PCI_EXP_DPC_STATUS_INTERRUPT);
|
|
|
+ PCI_EXP_DPC_STATUS_TRIGGER);
|
|
|
|
|
|
pci_read_config_word(pdev, cap + PCI_EXP_DPC_CTL, &ctl);
|
|
|
pci_write_config_word(pdev, cap + PCI_EXP_DPC_CTL,
|
|
@@ -225,6 +225,9 @@ static irqreturn_t dpc_irq(int irq, void *context)
|
|
|
if (dpc->rp_extensions && reason == 3 && ext_reason == 0)
|
|
|
dpc_process_rp_pio_error(dpc);
|
|
|
|
|
|
+ pci_write_config_word(pdev, cap + PCI_EXP_DPC_STATUS,
|
|
|
+ PCI_EXP_DPC_STATUS_INTERRUPT);
|
|
|
+
|
|
|
schedule_work(&dpc->work);
|
|
|
|
|
|
return IRQ_HANDLED;
|