Commit 52b787ee authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Linus Torvalds

[PATCH] DAC960: Don't look at PCI_Device->irq before calling pci_enable_device().

The DAC960 driver looks at PCI_Device->irq before calling
pci_enable_device(), which means it requests the wrong IRQ and hangs.
This fixes it. 

Thanks to Johannes Rommel for reporting the problem and testing the fix.
Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent b3302490
...@@ -2678,7 +2678,7 @@ DAC960_DetectController(struct pci_dev *PCI_Device, ...@@ -2678,7 +2678,7 @@ DAC960_DetectController(struct pci_dev *PCI_Device,
DAC960_Controller_T *Controller = NULL; DAC960_Controller_T *Controller = NULL;
unsigned char DeviceFunction = PCI_Device->devfn; unsigned char DeviceFunction = PCI_Device->devfn;
unsigned char ErrorStatus, Parameter0, Parameter1; unsigned char ErrorStatus, Parameter0, Parameter1;
unsigned int IRQ_Channel = PCI_Device->irq; unsigned int IRQ_Channel;
void __iomem *BaseAddress; void __iomem *BaseAddress;
int i; int i;
...@@ -2958,6 +2958,7 @@ DAC960_DetectController(struct pci_dev *PCI_Device, ...@@ -2958,6 +2958,7 @@ DAC960_DetectController(struct pci_dev *PCI_Device,
/* /*
Acquire shared access to the IRQ Channel. Acquire shared access to the IRQ Channel.
*/ */
IRQ_Channel = PCI_Device->irq;
if (request_irq(IRQ_Channel, InterruptHandler, SA_SHIRQ, if (request_irq(IRQ_Channel, InterruptHandler, SA_SHIRQ,
Controller->FullModelName, Controller) < 0) Controller->FullModelName, Controller) < 0)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment