On Fri, Jan 22, 2016 at 8:23 PM, David Daney <ddaney.cavm@xxxxxxxxx> wrote: > On 01/22/2016 09:53 AM, Bjorn Helgaas wrote: >> >> On Thu, Jan 21, 2016 at 11:58:26PM +0100, Rafael J. Wysocki wrote: >>> >>> On Thu, Jan 21, 2016 at 3:41 PM, Cao jin <caoj.fnst@xxxxxxxxxxxxxx> >>> wrote: >>>> >>>> Hi, >>>> >>>> IMHO, I think maybe modification on i801_smbus driver is easier. >>>> >>>> Because when i801_smbus request_irq using pci_dev->irq, this >>>> pci_dev->irq seems still holds the value read from register( >>>> pci_setup_device->pci_read_irq), if the value is 255, it is invalid in >>>> register, >>> >>> >>> Right. >>> >>> Which is why the PCI core should not leak it into the driver's ->probe >>> callback. >> >> >> Is there a reserved IRQ value we could use to mean "invalid"? > > > In many (most) cases, zero indicates no irq. Zero is a valid timer IRQ on x86, though, so it's better not to give any special meaning to it in general. Using ~0 as suggested by Bjorn should work as it would cause request_irq() to return -EINVAL if passed to it AFAICS. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html