diff options
author | George Kadianakis <desnacked@gmail.com> | 2010-01-17 22:19:31 +0300 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-01-19 01:51:59 +0300 |
commit | 8605c46c171f02859fb3a32655fa226ce446c6ec (patch) | |
tree | a5f21f066424350cc0a2794df33a40f15e8af7c4 /include/scsi | |
parent | e8a392444d338d3ce77d157bcbe4975828536efa (diff) | |
download | linux-8605c46c171f02859fb3a32655fa226ce446c6ec.tar.xz |
[SCSI] lpfc: restore MSI-X/MSI support
A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts.
This patch restores lpfc's ability to support MSI-X/MSI interrupts that the
"Addition of SLI4 Interface - Base Support" patch [2] broke.
It reestablishes MSI-X as the default interrupt method and in case MSI-X is not
supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.
[1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
[2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d
[James Smart:
Background:
Nothing Broke. This was intended.
We had originally enabled MSI-X by default, but in qualification within the
last 12 months, we encountered a major catch-22:
There were at least 4 platforms, from 2 major OEMs, that :
- Say they support MSI-X - platform routines work and act as if they do.
- We enable it, generate a test interrupt to check they really do deliver it,
and it works.
- But shortly after attachment, the system hangs or loses interrupts,
resulting in a bad system behavior.
Given the distro's picking up the 2.6.32 kernel, we had to stick with a
default of MSI-X off, with user-enabled MSI-X as these platforms couldn't get
fixed.
However, we're also now encountering platforms that require MSI-X and never
INTx, so we must change. It's desired also for also for performance reasons.
So - now (2.6.33) is the right time to re-enable MSI-X by default.
]
[jejb: fix up comment on default values]
Signed-off-by: George Kadianakis <desnacked@gmail.com>
Acked-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi')
0 files changed, 0 insertions, 0 deletions