2008-10-07 13:37:29

by Tomas Henzl

[permalink] [raw]
Subject: 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
> @@ -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 (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 <[email protected]>

---
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 | AAC_QUIRK_SCSI_32 }, /* Legend S230 (Legend Vulcan) */



2008-10-07 15:44:23

by Gernot Hillier

[permalink] [raw]
Subject: Re: aacraid: Adaptec 2200S support broken on x86_64 by commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b

Tomas Henzl wrote:
> Hillier, Gernot wrote:
>> 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
[...]
>> 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
[...]
> 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 <[email protected]>
>
> ---
> 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 | AAC_QUIRK_SCSI_32 }, /* Legend S230 (Legend Vulcan) */
>
>
>

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 <[email protected]>
--- SNAP ---

[1] https://bugzilla.redhat.com/show_bug.cgi?id=453472

--
Gernot Hillier, Siemens AG, CT SE 2

2008-11-10 23:21:23

by Andrew Morton

[permalink] [raw]
Subject: Re: aacraid: Adaptec 2200S support broken on x86_64 by commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b

On Tue, 07 Oct 2008 15:37:04 +0200
Tomas Henzl <[email protected]> wrote:

> 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
> > @@ -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 (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 <[email protected]>
>
> ---
> 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 | AAC_QUIRK_SCSI_32 }, /* Legend S230 (Legend Vulcan) */
>
>

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?

2008-11-11 04:21:20

by James Bottomley

[permalink] [raw]
Subject: Re: aacraid: Adaptec 2200S support broken on x86_64 by commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b

On Mon, 2008-11-10 at 15:20 -0800, Andrew Morton wrote:
> On Tue, 07 Oct 2008 15:37:04 +0200
> Tomas Henzl <[email protected]> wrote:
>
> > 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
> > > @@ -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 (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 <[email protected]>
> >
> > ---
> > 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 | AAC_QUIRK_SCSI_32 }, /* Legend S230 (Legend Vulcan) */
> >
> >
>
> 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.

Could someone from Adaptec and Dell please verify that this is correct?
Mark Salyzyn no longer works there, but the [email protected] address
is supposed to still be working.

Thanks,

James

2008-11-11 04:56:06

by Andrew Morton

[permalink] [raw]
Subject: Re: aacraid: Adaptec 2200S support broken on x86_64 by commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b

On Mon, 10 Nov 2008 20:20:57 -0800 James Bottomley <[email protected]> wrote:

> Could someone from Adaptec and Dell please verify that this is correct?
> Mark Salyzyn no longer works there, but the [email protected] address
> is supposed to still be working.

Here is the patch:



From: Tomas Henzl <[email protected]>

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 <[email protected]>
Signed-off-by: Tomas Henzl <[email protected]>
Cc: <[email protected]>
Cc: James Bottomley <[email protected]>
Tested-by: Thomas Guyot-Sionnest <[email protected]>
Cc: <[email protected]> [2.6.27.x, 2.6.26.x, 2.6.25.x]
Signed-off-by: Andrew Morton <[email protected]>
---

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, 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) */
_

2008-11-11 09:57:50

by Tomas Henzl

[permalink] [raw]
Subject: Re: aacraid: Adaptec 2200S support broken on x86_64 by commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b

James Bottomley wrote:
> On Mon, 2008-11-10 at 15:20 -0800, Andrew Morton wrote:
>
>> On Tue, 07 Oct 2008 15:37:04 +0200
>> Tomas Henzl <[email protected]> wrote:
>>
>>
>>> 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
>>>> @@ -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 (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 <[email protected]>
>>>
>>> ---
>>> 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 | AAC_QUIRK_SCSI_32 }, /* Legend S230 (Legend Vulcan) */
>>>
>>>
>>>
>> 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.
>>
>
> Could someone from Adaptec and Dell please verify that this is correct?
> Mark Salyzyn no longer works there, but the [email protected] address
> is supposed to still be working.
>
> Thanks,
>
> James
>
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,
Tomas
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

2008-12-02 16:59:36

by Matt Domsch

[permalink] [raw]
Subject: Re: aacraid: Adaptec 2200S support broken on x86_64 by commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b

On Mon, Nov 10, 2008 at 08:54:53PM -0800, Andrew Morton wrote:
> On Mon, 10 Nov 2008 20:20:57 -0800 James Bottomley <[email protected]> wrote:
>
> > Could someone from Adaptec and Dell please verify that this is correct?
> > Mark Salyzyn no longer works there, but the [email protected] address
> > is supposed to still be working.
>
> Here is the patch:
>
>
>
> From: Tomas Henzl <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Tomas Henzl <[email protected]>
> Cc: <[email protected]>
> Cc: James Bottomley <[email protected]>
> Tested-by: Thomas Guyot-Sionnest <[email protected]>
> Cc: <[email protected]> [2.6.27.x, 2.6.26.x, 2.6.25.x]
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> 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, 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) */
> _


Dell's storage teams have been investigating, to be sure those are the
only known affected cards. To the best of everyone's knowledge here,
this is correct.

Please apply at your earliest convenience.

Thanks,
Matt

--
Matt Domsch
Linux Technology Strategist, Dell Office of the CTO
linux.dell.com & http://www.dell.com/linux