OpenSolaris

Printable Version Enter a New Search
Bug ID 6647211
Synopsis igb: MSI-X interrupt does not work correctly after chip reset
State 10-Fix Delivered (Fix available in build)
Category:Subcategory driver:igb
Keywords
Responsible Engineer Ted You
Reported Against snv_81
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_82
Fixed In snv_82
Release Fixed solaris_nevada(snv_82) , solaris_10u5(s10u5_08) (Bug ID:2157983)
Related Bugs 6591981
Submit Date 4-January-2008
Last Update Date 31-January-2008
Description
MSI-X interrupt does not work correctly after a chip reset or an unplumb/plumb.

MSI-X works well after the driver attach, but after unplumbing and replumbing the
interface, or resetting the chipset, only the first MSI-X interrupt vector works, other
vectors will stop working.

Because the tx interrupt is allocated with the first vector, the rx interrupts are 
allocated with the second and the following vectors, tx is still working, but rx stops
working.

The sunvts netlb testing will trigger driver reset, so the netlb testing with MSI-X
will also fail.
Work Around
This problem can be workarounded by disabling the MSI-X interrupt and using MSI interrupt.
This can be implemented by adding the following setting to /kernel/drv/igb.conf:

intr_force=2;	/* 2 for MSI, and 1 for MSI-X */

With the first integration of the igb driver, the default interrupt type will be set to
MSI. So we actually don't have to set anything in the conf file.
Comments
N/A