Hi there! On our AMD64 machines equipped with old Adaptec 2200S controllers, we experienced a regression when updating to 2.6.25. The machines won't boot anymore (in a reasonable time), but instead spit out tons of those messages: aac_srb: aac_fib_send failed with status: 8195 This is already reported in quite some places including LKML: http://lkml.org/lkml/2008/5/12/365 https://bugzilla.redhat.com/show_bug.cgi?id=450444 https://bugzilla.redhat.com/show_bug.cgi?id=453472 http://www.linuxquestions.org/questions/red-hat-31/aacsrb-aacfibsend-failed-with-statu... http://forums.gentoo.org/viewtopic-p-5077382.html?sid=a51c3a0fba6aa854c0b49b8fae5cc15a We found that this regression seems to be introduced by the bugfix "aacraid: fix driver failure with Dell PowerEdge Expandable RAID Controller 3/Di": http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=94cf6ba11b... By simply removing the quirk flag for our controller, we could boot again. We did some quick stress tests on an AMD64bit machine with 16GB of RAM and saw no problems after this change: diff -ur linux-2.6.25.11-0.1.ct1.orig/drivers/scsi/aacraid/linit.c linux-2.6.25.11-0.1.ct1/drivers/scsi/aacraid/linit.c --- linux-2.6.25.11-0.1.ct1.orig/drivers/scsi/aacraid/linit.c 2008-09-15 16:07:14.000000000 +0100 +++ linux-2.6.25.11-0.1.ct1/drivers/scsi/aacraid/linit.c 2008-09-15 16:09:26.000000000 +0100 @@ -176,7 +176,7 @@ { aac_rx_init, "aacraid", "ADAPTEC ", "catapult ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* catapult */ { aac_rx_init, "aacraid", "ADAPTEC ", "tomcat ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* tomcat */ { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2120S ", 1, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* Adaptec 2120S (Crusader) */ - { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2200S ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* Adaptec 2200S ...
Hi,
from what I read about this it seems to me that people are complaining also about issues with the 2120S Controller.
So if the patch is taken in this form the original patch should be extended to cover both controllers.
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
---
diff -Naurp linux-2.6.18.i686b/drivers/scsi/aacraid/linit.c linux-2.6.18.i686p6/drivers/scsi/aacraid/linit.c
--- linux-2.6.18.i686b/drivers/scsi/aacraid/linit.c 2008-09-25 18:06:23.000000000 +0200
+++ linux-2.6.18.i686p6/drivers/scsi/aacraid/linit.c 2008-10-03 12:12:06.000000000 +0200
@@ -175,8 +175,8 @@ static struct aac_driver_ident aac_drive
{ aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* PERC 3/Di (Boxster/PERC3DiB) */
{ aac_rx_init, "aacraid", "ADAPTEC ", "catapult ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* catapult */
{ aac_rx_init, "aacraid", "ADAPTEC ", "tomcat ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* tomcat */
- { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2120S ", 1, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* Adaptec 2120S (Crusader) */
- { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2200S ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* Adaptec 2200S (Vulcan) */
+ { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2120S ", 1, AAC_QUIRK_31BIT | AAC_QUIRK_34SG }, /* Adaptec 2120S (Crusader) */
+ { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2200S ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG }, /* Adaptec 2200S (Vulcan) */
{ aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2200S ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* Adaptec 2200S (Vulcan-2m) */
{ aac_rx_init, "aacraid", "Legend ", "Legend S220 ", 1, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* Legend S220 (Legend Crusader) */
{ aac_rx_init, "aacraid", "Legend ", "Legend S230 ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG ...All our tests with this patch enabled look good so far and comment #30 in [1] also states that removing AAC_QUIRK_SCSI_32 for those controllers fixes the problem. As the original workaround was only intended to fix things on the DELL PERCRAID, I'd be glad to see our patch being applied to disable the workaround for our controllers again. I didn't provide a description for the original patch yet (sorry), so here's a suggestion: --- SNIP --- aacraid: disable Dell Percraid quirk on Adaptec 2200S and 2120S A lot of 64bit machines with Adaptec 2200S and 2120S controllers don't recognize SCSI disks any more with the patch "fix driver failure with Dell PowerEdge Expandable RAID Controller 3/Di", but fail with tons of "aac_srb: aac_fib_send failed with status: 8195" instead. This patch disables the quirk introduced in the change cited above for those two controllers again. Signed-off-by: Gernot Hillier <gernot.hillier@siemens.com> --- SNAP --- [1] https://bugzilla.redhat.com/show_bug.cgi?id=453472 -- Gernot Hillier, Siemens AG, CT SE 2 --
On Tue, 07 Oct 2008 15:37:04 +0200 I added this to my tree with Tomas's title&changelog (thanks - I was about to whine about that). Thanks Thomas for the reminder. I tagged it as backportable to 2.6.25.x, 2.6.26.x and 2.6.27.x. This bugfix has been there for a month and this driver has been busted since 2.6.24. Is anyone out there? Mark? James? --
Could someone from Adaptec and Dell please verify that this is correct? Mark Salyzyn no longer works there, but the aacraid@adaptec.com address is supposed to still be working. Thanks, James --
Here is the patch:
From: Tomas Henzl <thenzl@redhat.com>
A lot of 64bit machines with Adaptec 2200S and 2120S controllers don't
recognize SCSI disks any more with the patch "fix driver failure with Dell
PowerEdge Expandable RAID Controller 3/Di", but fail with tons of "aac_srb:
aac_fib_send failed with status: 8195" instead. This patch disables the
quirk introduced in the change cited above for those two controllers again.
Signed-off-by: Gernot Hillier <gernot.hillier@siemens.com>
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Cc: <aacraid@adaptec.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Tested-by: Thomas Guyot-Sionnest <dermoth@aei.ca>
Cc: <stable@kernel.org> [2.6.27.x, 2.6.26.x, 2.6.25.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/scsi/aacraid/linit.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff -puN drivers/scsi/aacraid/linit.c~aacraid-disable-dell-percraid-quirk-on-adaptec-2200s-and-2120s drivers/scsi/aacraid/linit.c
--- a/drivers/scsi/aacraid/linit.c~aacraid-disable-dell-percraid-quirk-on-adaptec-2200s-and-2120s
+++ a/drivers/scsi/aacraid/linit.c
@@ -175,8 +175,8 @@ static struct aac_driver_ident aac_drive
{ aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* PERC 3/Di (Boxster/PERC3DiB) */
{ aac_rx_init, "aacraid", "ADAPTEC ", "catapult ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* catapult */
{ aac_rx_init, "aacraid", "ADAPTEC ", "tomcat ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* tomcat */
- { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2120S ", 1, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* Adaptec 2120S (Crusader) */
- { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2200S ", 2, AAC_QUIRK_31BIT | AAC_QUIRK_34SG | AAC_QUIRK_SCSI_32 }, /* Adaptec 2200S (Vulcan) */
+ { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2120S ", 1, ...Adding Achim Leubner from Adaptec to the CC:list, he is the new person responsible for the driver. Achim what do you think about this patch ? Thanks, --
