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,
DAC960_Controller_T *Controller = NULL;
unsigned char DeviceFunction = PCI_Device->devfn;
unsigned char ErrorStatus, Parameter0, Parameter1;
unsigned int IRQ_Channel = PCI_Device->irq;
unsigned int IRQ_Channel;
void __iomem *BaseAddress;
int i;
......@@ -2958,6 +2958,7 @@ DAC960_DetectController(struct pci_dev *PCI_Device,
/*
Acquire shared access to the IRQ Channel.
*/
IRQ_Channel = PCI_Device->irq;
if (request_irq(IRQ_Channel, InterruptHandler, SA_SHIRQ,
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