Tomas Henzl | 7 Oct 15:37 2008
Picon

Re: aacraid: Adaptec 2200S support broken on x86_64 by commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b

Hillier, Gernot wrote:
> 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-status-8195-651078/
> 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=94cf6ba11b068b8a8f68a1e88bffb6827e92124b
>
> 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
>  <at>  <at>  -176,7 +176,7  <at>  <at> 
>  	{ 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 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 |
AAC_QUIRK_SCSI_32 }, /* Legend S230 (Legend Vulcan) */
>
> Can this be safely changed/merged? Or is this the wrong way to fix it?
>
> Please note that we also have machines equipped with newer Adaptec 2230S
> controllers (PCI ID 9005:0286) which run perfectly with the current driver.
>
>   
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 <at> 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
 <at>  <at>  -175,8 +175,8  <at>  <at>  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 |
AAC_QUIRK_SCSI_32 }, /* Legend S230 (Legend Vulcan) */

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


Gmane