Re: sharing interrupt between PCI device

From: Nobin Mathew
Date: Wed Nov 05 2008 - 02:49:41 EST


Hi

This is the system information X86_64 platform Xeon dual core processor.

I saw the pci_disable_device () it is calling pcibios_disable_device
() and this is is defined as

void pcibios_disable_device (struct pci_dev *dev)
{
pcibios_disable_resources(dev);
if (pcibios_disable_irq)
pcibios_disable_irq(dev);
}

In i386 platform, I could not find a definition for these calls in
x86_64 platform, i think it is using i386 platform code.

Thanks
Nobin Mathew





On Wed, Nov 5, 2008 at 5:58 AM, Robert Hancock <hancockr@xxxxxxx> wrote:
> Nobin Mathew wrote:
>>
>> Hi,
>>
>> I think this question is already asked in this mailing list and Sorry
>> for asking this again.
>>
>> My problem is this:
>>
>> I have two PCI devices ( also two kernel drivers for those) which
>> shares the interupt. When I remove one driver other device stops
>> working, which is happening due to pci_disable_device () in removed
>> driver. This call is disabling the shared interrupt.
>
> pci_disable_device shouldn't be disabling the interrupt line, at least not
> in this case. Without more details on the platform or drivers, it's
> difficult to say why this would happen.
>
>>
>> We can avoid this by just removing the pci_disable_device () in the
>> driver, but i dont think this is a good way (correct me if I am
>> wrong).
>>
>> Can you suggest some ways to overcome this issue.
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/