Andrew, My understanding is that MSI-X vectors are not usually shared. We don't want to spend cycles checking if the interrupt was indeed from our card or another device on same IRQ. In fact, current driver shares IRQ for the MSI case which I think is a bug. That should also be non-shared. Our MSI handler just runs thru' the Tx/Rx completions and returns IRQ_HANDLED. In case of IRQ sharing, we could be falsely claiming the interrupt as our own. Ravi -----Original Message----- From: netdev-owner@xxxxxxxxxxxxxxx [mailto:netdev-owner@xxxxxxxxxxxxxxx]On Behalf Of Andrew Morton Sent: Wednesday, June 21, 2006 9:16 PM To: Ananda Raju Cc: netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-fsdevel@xxxxxxxxxxxxxxx; dgc@xxxxxxx; balbir@xxxxxxxxxx; viro@xxxxxxxxxxxxxxxxxx; neilb@xxxxxxx; jblunck@xxxxxxx; tglx@xxxxxxxxxxxxx; ananda.raju@xxxxxxxxxxxx; leonid.grossman@xxxxxxxxxxxx; ravinandan.arakali@xxxxxxxxxxxx; alicia.pena@xxxxxxxxxxxx Subject: Re: [patch 2.6.17] s2io driver irq fix On Wed, 21 Jun 2006 15:50:49 -0400 (EDT) Ananda Raju <Ananda.Raju@xxxxxxxxxxxx> wrote: > + if (sp->intr_type == MSI_X) { > + int i; > > - free_irq(vector, arg); > + for (i=1; (sp->s2io_entries[i].in_use == MSIX_FLG); i++) { > + if (sp->s2io_entries[i].type == MSIX_FIFO_TYPE) { > + sprintf(sp->desc[i], "%s:MSI-X-%d-TX", > + dev->name, i); > + err = request_irq(sp->entries[i].vector, > + s2io_msix_fifo_handle, 0, sp->desc[i], > + sp->s2io_entries[i].arg); Is it usual to prohibit IRQ sharing with msix? - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html