isci: bypass scic_controller_get_handler_methods()
The indirection is unecessary and broken in the current case that assigns the handlers based on a not up-to-date pdev->msix_enabled value. Route the handlers directly to the requisite core routines. Todo: hook up error interrupt handling Reported-by: Jeff Garzik <jeff@garzik.org> Cc: Christoph Hellwig <hch@infradead.org> Signed-off-by: Edmund Nadolski <edmund.nadolski@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
@@ -334,7 +334,7 @@ static int isci_setup_interrupts(struct pci_dev *pdev)
|
||||
BUG_ON(!isci_host);
|
||||
|
||||
/* @todo: need to handle error case. */
|
||||
err = devm_request_irq(&pdev->dev, msix->vector, isci_isr, 0,
|
||||
err = devm_request_irq(&pdev->dev, msix->vector, isci_msix_isr, 0,
|
||||
DRV_NAME"-msix", isci_host);
|
||||
if (!err)
|
||||
continue;
|
||||
@@ -353,7 +353,7 @@ static int isci_setup_interrupts(struct pci_dev *pdev)
|
||||
return 0;
|
||||
|
||||
intx:
|
||||
err = devm_request_irq(&pdev->dev, pdev->irq, isci_legacy_isr,
|
||||
err = devm_request_irq(&pdev->dev, pdev->irq, isci_intx_isr,
|
||||
IRQF_SHARED, DRV_NAME"-intx", pdev);
|
||||
|
||||
return err;
|
||||
|
Reference in New Issue
Block a user