lkml.org 
[lkml]   [2007]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: MSI interrupts and disable_irq
    On 10/14/07, Manfred Spraul <manfred@colorfullife.com> wrote:
    > Yinghai Lu wrote:
    > > On 10/13/07, Manfred Spraul <manfred@colorfullife.com> wrote:
    > >
    > >> Someone around with a MSI capable board? The forcedeth driver does
    > >> dev->irq = pci_dev->irq
    > >> in nv_probe(), especially before pci_enable_msi().
    > >> Does pci_enable_msi() change pci_dev->irq? Then we would disable the
    > >> wrong interrupt....
    > >>
    > >
    > > the request_irq==>setup_irq will make dev->irq = pci_dev->irq.
    > >
    > >
    > Where is that?

    in nv_request_irq
    if ((ret = pci_enable_msi(np->pci_dev)) == 0) {
    np->msi_flags |= NV_MSI_ENABLED;
    if (request_irq(np->pci_dev->irq, handler,
    IRQF_SHARED, dev->name, dev) != 0) {

    in request_irq

    int request_irq(unsigned int irq, irq_handler_t handler,
    unsigned long irqflags, const char *devname, void *dev_id)
    ...
    action->dev_id = dev_id;
    ...
    retval = setup_irq(irq, action);

    in setup_irq
    int setup_irq(unsigned int irq, struct irqaction *new)
    ....
    new->irq = irq;

    it seems I missed that here new is irqaction instead of net_dev.

    YH
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-10-14 21:57    [W:0.022 / U:0.960 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site