netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* pci_enable_msix throws up error
@ 2006-05-04 23:16 Ravinandan Arakali
  0 siblings, 0 replies; 4+ messages in thread
From: Ravinandan Arakali @ 2006-05-04 23:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ananda. Raju, netdev, Leonid Grossman

Hi,
I am seeing the following problem with MSI/MSI-X.

Note: I am copying netdev since other network drivers use
this feature and somebody on the list could throw light.

Our 10G network card(Xframe II) supports MSI and MSI-X.
When I load/unload the driver with MSI support followed
by an attempt to load with MSI-X, I get the following
message from pci_enable_msix:

"Can't enable MSI-X.  Device already has an MSI vector assigned"

I seem to be doing the correct things when unloading the
MSI driver. Basically, I do free_irq() followed by pci_disable_msi().
Any idea what I am missing ?

Further analysis:
Looking at the code, the following check(when it finds a match) in
msi_lookup_vector(called by pci_enable_msix) seems to throw up this
message:
if (!msi_desc[vector] || msi_desc[vector]->dev != dev ||
    msi_desc[vector]->msi_attrib.type != type ||
    msi_desc[vector]->msi_attrib.default_vector != dev->irq)

pci_enable_msi, on successful completion will populate the
fields in msi_desc. But neither pci_disable_msi nor free_irq
seems to undo/unpopulate the msi_desc table.
Could this be the cause for the problem ?

Thanks,
Ravi



^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: pci_enable_msix throws up error
@ 2006-05-05  5:14 Ayaz Abdulla
  2006-05-05  8:44 ` Andi Kleen
  0 siblings, 1 reply; 4+ messages in thread
From: Ayaz Abdulla @ 2006-05-05  5:14 UTC (permalink / raw)
  To: ravinandan.arakali, linux-kernel; +Cc: Ananda. Raju, netdev, Leonid Grossman

I noticed the same behaviour, i.e. can not use both MSI and MSIX without
rebooting.

I had sent a message to the maintainer of the MSI/MSIX source a few
months ago and got a response that they were working on fixing it. Not
sure what the progress is on it.

Ayaz

nvpublic
-----Original Message-----
From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org]
On Behalf Of Ravinandan Arakali
Sent: Thursday, May 04, 2006 4:16 PM
To: linux-kernel@vger.kernel.org
Cc: Ananda. Raju; netdev@vger.kernel.org; Leonid Grossman
Subject: pci_enable_msix throws up error


Hi,
I am seeing the following problem with MSI/MSI-X.

Note: I am copying netdev since other network drivers use
this feature and somebody on the list could throw light.

Our 10G network card(Xframe II) supports MSI and MSI-X.
When I load/unload the driver with MSI support followed
by an attempt to load with MSI-X, I get the following
message from pci_enable_msix:

"Can't enable MSI-X.  Device already has an MSI vector assigned"

I seem to be doing the correct things when unloading the
MSI driver. Basically, I do free_irq() followed by pci_disable_msi().
Any idea what I am missing ?

Further analysis:
Looking at the code, the following check(when it finds a match) in
msi_lookup_vector(called by pci_enable_msix) seems to throw up this
message:
if (!msi_desc[vector] || msi_desc[vector]->dev != dev ||
    msi_desc[vector]->msi_attrib.type != type ||
    msi_desc[vector]->msi_attrib.default_vector != dev->irq)

pci_enable_msi, on successful completion will populate the
fields in msi_desc. But neither pci_disable_msi nor free_irq
seems to undo/unpopulate the msi_desc table.
Could this be the cause for the problem ?

Thanks,
Ravi


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: pci_enable_msix throws up error
  2006-05-05  5:14 pci_enable_msix throws up error Ayaz Abdulla
@ 2006-05-05  8:44 ` Andi Kleen
  0 siblings, 0 replies; 4+ messages in thread
From: Andi Kleen @ 2006-05-05  8:44 UTC (permalink / raw)
  To: Ayaz Abdulla
  Cc: ravinandan.arakali, linux-kernel, Ananda. Raju, netdev,
	Leonid Grossman

On Friday 05 May 2006 07:14, Ayaz Abdulla wrote:
> I noticed the same behaviour, i.e. can not use both MSI and MSIX without
> rebooting.
> 
> I had sent a message to the maintainer of the MSI/MSIX source a few
> months ago and got a response that they were working on fixing it. Not
> sure what the progress is on it.

The best way to make progress faster would be for someone like you
who needs it to submit a patch to fix it then.

-Andi

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: pci_enable_msix throws up error
@ 2006-06-01 19:08 Ravinandan Arakali
  0 siblings, 0 replies; 4+ messages in thread
From: Ravinandan Arakali @ 2006-06-01 19:08 UTC (permalink / raw)
  To: Andi Kleen, Ayaz Abdulla
  Cc: Ravinandan Arakali, linux-kernel, Ananda. Raju, netdev,
	Leonid Grossman

I have submitted a proposed fix for the below issue.
Will wait for comments.

Ravi

-----Original Message-----
From: Andi Kleen [mailto:ak@suse.de]
Sent: Friday, May 05, 2006 1:44 AM
To: Ayaz Abdulla
Cc: ravinandan.arakali@neterion.com; linux-kernel@vger.kernel.org;
Ananda. Raju; netdev@vger.kernel.org; Leonid Grossman
Subject: Re: pci_enable_msix throws up error


On Friday 05 May 2006 07:14, Ayaz Abdulla wrote:
> I noticed the same behaviour, i.e. can not use both MSI and MSIX without
> rebooting.
> 
> I had sent a message to the maintainer of the MSI/MSIX source a few
> months ago and got a response that they were working on fixing it. Not
> sure what the progress is on it.

The best way to make progress faster would be for someone like you
who needs it to submit a patch to fix it then.

-Andi


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-06-01 19:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-05  5:14 pci_enable_msix throws up error Ayaz Abdulla
2006-05-05  8:44 ` Andi Kleen
  -- strict thread matches above, loose matches on Subject: below --
2006-06-01 19:08 Ravinandan Arakali
2006-05-04 23:16 Ravinandan Arakali

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).