From alan@lxorguk.ukuu.org.uk Wed Aug 12 13:21:31 2009 From: Alan Cox Date: Fri, 07 Aug 2009 19:24:26 +0100 Subject: Staging: sep: Fix PCI irq usage To: greg@kroah.com, mark.a.allyn@intel.com Message-ID: <20090807182423.19360.12991.stgit@localhost.localdomain> From: Alan Cox Don't read the IRQ from the device, the device has no idea what is going on in the full bus topology and remapping above PCI. Use the pdev->irq field. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman --- drivers/staging/sep/sep_dev.h | 3 --- drivers/staging/sep/sep_driver.c | 8 +------- 2 files changed, 1 insertion(+), 10 deletions(-) --- a/drivers/staging/sep/sep_dev.h +++ b/drivers/staging/sep/sep_dev.h @@ -54,9 +54,6 @@ struct sep_device { unsigned long resident_size; void *resident_addr; - /* device interrupt (as retrieved from PCI) */ - int sep_irq; - unsigned long rar_region_addr; /* start address of the access to the SEP registers from driver */ --- a/drivers/staging/sep/sep_driver.c +++ b/drivers/staging/sep/sep_driver.c @@ -2494,15 +2494,9 @@ static int __devinit sep_probe(struct pc /* set the IMR register - open only GPR 2 */ sep_write_reg(sep_dev, HW_HOST_IMR_REG_ADDR, (~(0x1 << 13))); - /* figure out our irq */ - /* FIXME: */ - error = pci_read_config_byte(pdev, PCI_INTERRUPT_LINE, (u8 *) & sep_dev->irq); - - edbg("SEP Driver: my irq is %d\n", sep_dev->irq); - edbg("SEP Driver: about to call request_irq\n"); /* get the interrupt line */ - error = request_irq(sep_dev->irq, sep_inthandler, IRQF_SHARED, "sep_driver", &sep_dev->reg_addr); + error = request_irq(pdev->irq, sep_inthandler, IRQF_SHARED, "sep_driver", &sep_dev->reg_addr); if (error) goto end_function;