linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* aic7xxx regression occuring after 2.6.12 final
@ 2005-06-29 22:50 Tony Vroon
  2005-07-02 15:42 ` Tony Vroon
  0 siblings, 1 reply; 13+ messages in thread
From: Tony Vroon @ 2005-06-29 22:50 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-scsi

Hiya,

For my Adaptec 29160 card; I see a regression after 2.6.12 final.
To be exact, these releases work for me:
2.6.12
2.6.12.1

These releases do not work for me:
2.6.12-mm1
2.6.12-mm2
2.6.12-git7
2.6.13-rc1

On a working kernel; I see the following:
ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC3] -> GSI 18 (level,
high) -> IRQ 18
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
        <Adaptec 29160 Ultra160 SCSI adapter>
        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

  Vendor: FUJITSU   Model: MAP3367NP         Rev: 0106
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0:A:0:0: Tagged Queuing enabled.  Depth 253
 target0:0:0: Beginning Domain Validation
WIDTH IS 1
(scsi0:A:0): 6.600MB/s transfers (16bit)
(scsi0:A:0): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)
 target0:0:0: Ending Domain Validation

On a failing kernel, I see:
ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC3] -> GSI 18 (level,
high) -> IRQ 18
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
        <Adaptec 29160 Ultra160 SCSI adapter>
        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

target0:0:0: asynchronous
  Vendor: FUJITSU   Model: MAP3367NP         Rev: 0106
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0:A:0:0: Tagged Queuing enabled.  Depth 253
 target0:0:0: Beginning Domain Validation
 target0:0:0: wide asynchronous
(scsi0:A:0): refuses tagged commands. Performing non-tagged I/O
 target0:0:0: asynchronous
[The PC hangs at this point]


lspci output for the adapter:
0000:01:08.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02)
        Subsystem: Adaptec 29160 Ultra160 SCSI Controller
        Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 18
        BIST result: 00
        I/O ports at d800 [disabled] [size=256]
        Memory at db000000 (64-bit, non-prefetchable) [size=4K]
        Capabilities: [dc] Power Management version 2

Please let me know if there are specific patches I need to apply or
revert to debug this. I have more drives on this controller; to be exact
I have 2 U320-capable drives and one U160-capable drive on wide channel
A; and 3 removable media units (CD-R, DVD, CD-ROM) on the 50-pin
SCSI-bus.

Thanks,
Tony.
(Please CC replies to me as I am not subscribed to LKML or linux-scsi)


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-06-29 22:50 aic7xxx regression occuring after 2.6.12 final Tony Vroon
@ 2005-07-02 15:42 ` Tony Vroon
  2005-07-02 16:22   ` James Bottomley
  0 siblings, 1 reply; 13+ messages in thread
From: Tony Vroon @ 2005-07-02 15:42 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-scsi, James Bottomley, Andy Whitcroft

[-- Attachment #1: Type: text/plain, Size: 6481 bytes --]

On Wed, 2005-06-29 at 23:50 +0100, Tony Vroon wrote:
> For my Adaptec 29160 card; I see a regression after 2.6.12 final.
> To be exact, these releases work for me:
> 2.6.12
> 2.6.12.1
> 
> These releases do not work for me:
> 2.6.12-mm1
> 2.6.12-mm2
> 2.6.12-git7
> 2.6.13-rc1
I can add 2.6.13-rc1-mm1 to that list.

> On a working kernel; I see the following:
I'd like to extend this so all devices on this adapter are visible,
perhaps it helps in debugging this case. Note that I also lowered the
tagged queuing depth to the default of 32. This had no effect.:
ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC3] -> GSI 18 (level,
high) -> IRQ 18
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
        <Adaptec 29160 Ultra160 SCSI adapter>
        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

  Vendor: FUJITSU   Model: MAP3367NP         Rev: 0106
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0:A:0:0: Tagged Queuing enabled.  Depth 32
 target0:0:0: Beginning Domain Validation
WIDTH IS 1
(scsi0:A:0): 6.600MB/s transfers (16bit)
(scsi0:A:0): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)
 target0:0:0: Ending Domain Validation
(scsi0:A:1:0): refuses WIDE negotiation.  Using 8bit transfers
  Vendor: YAMAHA    Model: CRW2100S          Rev: 1.0N
  Type:   CD-ROM                             ANSI SCSI revision: 02
 target0:0:1: Beginning Domain Validation
 target0:0:1: Domain Validation skipping write tests
(scsi0:A:1): 20.000MB/s transfers (20.000MHz, offset 7)
 target0:0:1: Ending Domain Validation
(scsi0:A:2:0): refuses WIDE negotiation.  Using 8bit transfers
  Vendor: PIONEER   Model: DVD-ROM DVD-305   Rev: 1.03
  Type:   CD-ROM                             ANSI SCSI revision: 02
 target0:0:2: Beginning Domain Validation
 target0:0:2: Domain Validation skipping write tests
(scsi0:A:2): 20.000MB/s transfers (20.000MHz, offset 16)
 target0:0:2: Ending Domain Validation
  Vendor: PLEXTOR   Model: CD-ROM PX-40TS    Rev: 1.11
  Type:   CD-ROM                             ANSI SCSI revision: 02
 target0:0:3: Beginning Domain Validation
 target0:0:3: Domain Validation skipping write tests
(scsi0:A:3): 20.000MB/s transfers (20.000MHz, offset 15)
 target0:0:3: Ending Domain Validation
  Vendor: QUANTUM   Model: ATLAS10K3_36_SCA  Rev: 020W
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0:A:5:0: Tagged Queuing enabled.  Depth 32
 target0:0:5: Beginning Domain Validation
WIDTH IS 1
(scsi0:A:5): 6.600MB/s transfers (16bit)
(scsi0:A:5): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)
 target0:0:5: Ending Domain Validation
  Vendor: SEAGATE   Model: ST373405LC        Rev: 0003
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0:A:6:0: Tagged Queuing enabled.  Depth 32
 target0:0:6: Beginning Domain Validation
WIDTH IS 1(scsi0:A:6): 6.600MB/s transfers (16bit)
(scsi0:A:6): 160.000MB/s transfers (80.000MHz DT, offset 63, 16bit)
 target0:0:6: Ending Domain Validation
SCSI device sda: 71775284 512-byte hdwr sectors (36749 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 71775284 512-byte hdwr sectors (36749 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sdb: 71833096 512-byte hdwr sectors (36779 MB)
SCSI device sdb: drive cache: write back
SCSI device sdb: 71833096 512-byte hdwr sectors (36779 MB)
SCSI device sdb: drive cache: write back
 sdb: sdb1
Attached scsi disk sdb at scsi0, channel 0, id 5, lun 0
CSI device sdc: 143374738 512-byte hdwr sectors (73408 MB)
SCSI device sdc: drive cache: write back
SCSI device sdc: 143374738 512-byte hdwr sectors (73408 MB)
SCSI device sdc: drive cache: write back
 sdc: sdc1
Attached scsi disk sdc at scsi0, channel 0, id 6, lun 0
sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 1, lun 0
sr1: scsi3-mmc drive: 16x/40x cd/rw xa/form2 cdda tray
Attached scsi CD-ROM sr1 at scsi0, channel 0, id 2, lun 0
sr2: scsi-1 drive
Attached scsi CD-ROM sr2 at scsi0, channel 0, id 3, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0
Attached scsi generic sg1 at scsi0, channel 0, id 1, lun 0,  type 5
Attached scsi generic sg2 at scsi0, channel 0, id 2, lun 0,  type 5
Attached scsi generic sg3 at scsi0, channel 0, id 3, lun 0,  type 5
Attached scsi generic sg4 at scsi0, channel 0, id 5, lun 0,  type 0
Attached scsi generic sg5 at scsi0, channel 0, id 6, lun 0,  type 0

> On a failing kernel, I see:
I still see this on 2.6.13-rc1-mm1:

ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC3] -> GSI 18 (level,high) -> IRQ 18
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
        <Adaptec 29160 Ultra160 SCSI adapter>
        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

target0:0:0: asynchronous
  Vendor: FUJITSU   Model: MAP3367NP         Rev: 0106
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0:A:0:0: Tagged Queuing enabled.  Depth 32
 target0:0:0: Beginning Domain Validation
 target0:0:0: wide asynchronous
(scsi0:A:0): refuses tagged commands. Performing non-tagged I/O
 target0:0:0: asynchronous
[The PC hangs at this point]


> lspci output for the adapter:
> 0000:01:08.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02)
>         Subsystem: Adaptec 29160 Ultra160 SCSI Controller
>         Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 18
>         BIST result: 00
>         I/O ports at d800 [disabled] [size=256]
>         Memory at db000000 (64-bit, non-prefetchable) [size=4K]
>         Capabilities: [dc] Power Management version 2

> Please let me know if there are specific patches I need to apply or
> revert to debug this.

This stands. I would like to debug this, but a few recommendations of
what to do and where to start would be appreciated.

>  I have more drives on this controller; to be exact
> I have 2 U320-capable drives and one U160-capable drive on wide channel
> A; and 3 removable media units (CD-R, DVD, CD-ROM) on the 50-pin
> SCSI-bus.

Thanks,
Tony.
(Please CC replies to me as I am not subscribed to LKML or linux-scsi)

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 15:42 ` Tony Vroon
@ 2005-07-02 16:22   ` James Bottomley
  2005-07-02 16:46     ` Tony Vroon
  0 siblings, 1 reply; 13+ messages in thread
From: James Bottomley @ 2005-07-02 16:22 UTC (permalink / raw)
  To: Tony Vroon; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

On Sat, 2005-07-02 at 16:42 +0100, Tony Vroon wrote:
> target0:0:0: asynchronous
>   Vendor: FUJITSU   Model: MAP3367NP         Rev: 0106
>   Type:   Direct-Access                      ANSI SCSI revision: 03
> scsi0:A:0:0: Tagged Queuing enabled.  Depth 32
>  target0:0:0: Beginning Domain Validation
>  target0:0:0: wide asynchronous
> (scsi0:A:0): refuses tagged commands. Performing non-tagged I/O
>  target0:0:0: asynchronous
> [The PC hangs at this point]

Well, my best guess is that this is a double bug.  I think the
aic7xxx_core is processing the reject wrongly and the device is
rejecting a QAS or IU negotiation attempt.

So, see if the attached patch helps.

Thanks,

James

diff --git a/drivers/scsi/scsi_transport_spi.c b/drivers/scsi/scsi_transport_spi.c
--- a/drivers/scsi/scsi_transport_spi.c
+++ b/drivers/scsi/scsi_transport_spi.c
@@ -787,7 +787,8 @@ spi_dv_device_internal(struct scsi_devic
 	}
 
 	/* test width */
-	if (i->f->set_width && spi_max_width(starget) && sdev->wdtr) {
+	if (i->f->set_width && spi_max_width(starget) &&
+	    scsi_device_wide(sdev)) {
 		i->f->set_width(starget, 1);
 
 		if (spi_dv_device_compare_inquiry(sdev, buffer,
@@ -803,14 +804,14 @@ spi_dv_device_internal(struct scsi_devic
 		return;
 
 	/* device can't handle synchronous */
-	if (!sdev->ppr && !sdev->sdtr)
+	if (!scsi_device_sync(sdev) && !scsi_device_dt(sdev))
 		return;
 
 	/* see if the device has an echo buffer.  If it does we can
 	 * do the SPI pattern write tests */
 
 	len = 0;
-	if (sdev->ppr)
+	if (scsi_device_dt(sdev))
 		len = spi_dv_device_get_echo_buffer(sdev, buffer);
 
  retry:
@@ -820,9 +821,11 @@ spi_dv_device_internal(struct scsi_devic
 	DV_SET(period, spi_min_period(starget));
 	/* try QAS requests; this should be harmless to set if the
 	 * target supports it */
-	DV_SET(qas, 1);
+	if (scsi_device_qas(sdev))
+		DV_SET(qas, 1);
 	/* Also try IU transfers */
-	DV_SET(iu, 1);
+	if (scsi_device_ius(sdev))
+		DV_SET(iu, 1);
 	if (spi_min_period(starget) < 9) {
 		/* This u320 (or u640). Ignore the coupled parameters
 		 * like DT and IU, but set the optional ones */



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 16:22   ` James Bottomley
@ 2005-07-02 16:46     ` Tony Vroon
  2005-07-02 17:01       ` James Bottomley
  0 siblings, 1 reply; 13+ messages in thread
From: Tony Vroon @ 2005-07-02 16:46 UTC (permalink / raw)
  To: James Bottomley; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

[-- Attachment #1: Type: text/plain, Size: 682 bytes --]

On Sat, 2005-07-02 at 12:22 -0400, James Bottomley wrote:
> Well, my best guess is that this is a double bug.  I think the
> aic7xxx_core is processing the reject wrongly and the device is
> rejecting a QAS or IU negotiation attempt.
> 
> So, see if the attached patch helps.

Unfortunately I see no visible changes in the output; the system hangs
at the same point.
What does that asynchronous line mean? I  see that on all kernels that
do not boot properly. 2.6.12; 2.6.12.1 and 2.6.12.2 do not display it,
and boot just fine.

target0:0:0: asynchronous

It appears even before vendor & model information is displayed for the
Fujitsu drive.

> James

Tony.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 16:46     ` Tony Vroon
@ 2005-07-02 17:01       ` James Bottomley
  2005-07-02 17:13         ` Tony Vroon
  0 siblings, 1 reply; 13+ messages in thread
From: James Bottomley @ 2005-07-02 17:01 UTC (permalink / raw)
  To: Tony Vroon; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

On Sat, 2005-07-02 at 17:46 +0100, Tony Vroon wrote:
> What does that asynchronous line mean? I  see that on all kernels that
> do not boot properly. 2.6.12; 2.6.12.1 and 2.6.12.2 do not display it,
> and boot just fine.
> 
> target0:0:0: asynchronous

It means the target is sending data asynchronously (the slowest and
safest speed).

Could you try booting with aic7xxx=verbose to see what the device thinks
its negotiating?

Thanks,

James



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 17:01       ` James Bottomley
@ 2005-07-02 17:13         ` Tony Vroon
  2005-07-02 17:33           ` James Bottomley
  0 siblings, 1 reply; 13+ messages in thread
From: Tony Vroon @ 2005-07-02 17:13 UTC (permalink / raw)
  To: James Bottomley; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

[-- Attachment #1: Type: text/plain, Size: 638 bytes --]

On Sat, 2005-07-02 at 13:01 -0400, James Bottomley wrote:
> Could you try booting with aic7xxx=verbose to see what the device thinks
> its negotiating?

scsi0: Slave Alloc 0
(scsi0:A:0:0): Sending WDTR 0
(scsi0:A:0:0): Received WDTR 0 filtered to 0
 target0:0:0: FAST-5 SCSI 1.0 MB/s ST (1020 ns, offset 255)
scsi0: target 0 using 8bit transfers
(scsi0:A:0:0): Sending SDTR period 45, offset 0
(scsi0:A:0:0): Received SDTR period 45, offset 0
Filtered to period 0, offset 0
 target0:0:0: asynchronous
scsi0: target 0 using asynchronous transfers
[vendor information follows; Fujitsu MAP 36.7GB drive]


> James
Tony.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 17:13         ` Tony Vroon
@ 2005-07-02 17:33           ` James Bottomley
  2005-07-02 17:47             ` Tony Vroon
  0 siblings, 1 reply; 13+ messages in thread
From: James Bottomley @ 2005-07-02 17:33 UTC (permalink / raw)
  To: Tony Vroon; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

On Sat, 2005-07-02 at 18:13 +0100, Tony Vroon wrote:
> wscsi0: target 0 using asynchronous transfers
> [vendor information follows; Fujitsu MAP 36.7GB drive]

There should be more debugging information after this as the device goes
through domain validation, isn't there?

James 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 17:33           ` James Bottomley
@ 2005-07-02 17:47             ` Tony Vroon
  2005-07-02 18:36               ` James Bottomley
  0 siblings, 1 reply; 13+ messages in thread
From: Tony Vroon @ 2005-07-02 17:47 UTC (permalink / raw)
  To: James Bottomley; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

[-- Attachment #1: Type: text/plain, Size: 1970 bytes --]

On Sat, 2005-07-02 at 13:33 -0400, James Bottomley wrote:
> There should be more debugging information after this as the device goes
> through domain validation, isn't there?

There is, but I have to write this out manually. I have only one PC
available. Got myself more paper and a better pen. Here it is:

scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
        <Adaptec 29160 Ultra160 SCSI adapter>
        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

scsi0: Slave Alloc 0
(scsi0:A:0:0): Sending WDTR 0
(scsi0:A:0:0): Received WDTR 0 filtered to 0
 target0:0:0: FAST-5 SCSI 1.0 MB/s ST (1020 ns, offset 255)
scsi0: target 0 using 8bit transfers
(scsi0:A:0:0): Sending SDTR period 45, offset 0
(scsi0:A:0:0): Received SDTR period 45, offset 0
Filtered to period 0, offset 0
 target0:0:0: asynchronous.
scsi0: target 0 using asynchronous transfers
  Vendor: FUJITSU   Model: MAP3367NP         Rev: 0106
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0: Slave Configure 0
 target0:0:0: asynchronous.
scsi0:A:0:0:0: Tagged Queuing enabled.  Depth 32
 target0:0:0: Beginning Domain Validation
(scsi0:A:0:0): Sending WDTR 1
(scsi0:A:0:0): Received WDTR 1 filtered to 1
 target0:0:0: FAST-5 WIDE SCSI 2.0 MB/s ST (1020 ns, offset 255)
scsi0: target 0 using 16bit transfers
(scsi0:A:0:0): Sending SDTR period 45, offset 0
(scsi0:A:0:0): Received SDTR period 45, offset 0
Filtered to period 0, offset 0
 target0:0:0: wide asynchronous
scsi0: target 0 using asynchronous transfers
(scsi0:A:0:0): Sending PPR bus_width 1, period 9, offset 7f, ppr_options
7
(scsi0:A:0:0): Received PPR bus_width 1, period 9, offset 7f,
ppr_options 7
Filtered to width 0, period 0, offset 0, options 0
 target0:0:0: asynchronous.
scsi0: target 0 using 8bit transfers
(scsi0:A:0:0): refuses tagged comands.  Performing non-tagged I/O
 target0:0:0: asynchronous
*PC hangs here*

> James 
Tony.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 17:47             ` Tony Vroon
@ 2005-07-02 18:36               ` James Bottomley
  2005-07-02 19:03                 ` Tony Vroon
  0 siblings, 1 reply; 13+ messages in thread
From: James Bottomley @ 2005-07-02 18:36 UTC (permalink / raw)
  To: Tony Vroon; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

On Sat, 2005-07-02 at 18:47 +0100, Tony Vroon wrote:
> (scsi0:A:0:0): Sending PPR bus_width 1, period 9, offset 7f, ppr_options
> 7
> (scsi0:A:0:0): Received PPR bus_width 1, period 9, offset 7f,
> ppr_options 7
> Filtered to width 0, period 0, offset 0, options 0

Well, I think this is it.  The drive is actually offering IU and QAS.
That's fun; I've never seen a u160 drive that could do those before.
Although the aic7xxx driver is apparently coded to allow this, it looks
like the code paths have never been exercised.

So, although I think this patch will fix up the first error, there's
probably a long line behind it ...

James

diff --git a/drivers/scsi/aic7xxx/aic7xxx_core.c
b/drivers/scsi/aic7xxx/aic7xxx_core.c
--- a/drivers/scsi/aic7xxx/aic7xxx_core.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_core.c
@@ -3258,7 +3258,8 @@ ahc_parse_msg(struct ahc_softc *ahc, str
 			 * on any controller.  Transfer options are
 			 * only available if we are negotiating wide.
 			 */
-			ppr_options &= MSG_EXT_PPR_DT_REQ;
+			ppr_options &= MSG_EXT_PPR_DT_REQ |
+			  MSG_EXT_PPR_QAS_REQ | MSG_EXT_PPR_IU_REQ;
 			if (bus_width == 0)
 				ppr_options = 0;
 



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 18:36               ` James Bottomley
@ 2005-07-02 19:03                 ` Tony Vroon
  2005-07-02 19:15                   ` Tony Vroon
  2005-07-02 19:46                   ` James Bottomley
  0 siblings, 2 replies; 13+ messages in thread
From: Tony Vroon @ 2005-07-02 19:03 UTC (permalink / raw)
  To: James Bottomley; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

[-- Attachment #1: Type: text/plain, Size: 2576 bytes --]

On Sat, 2005-07-02 at 14:36 -0400, James Bottomley wrote:
> Well, I think this is it.  The drive is actually offering IU and QAS.
> That's fun; I've never seen a u160 drive that could do those before.

The Fujitsu is a U320 unit, just like my Seagate. It's just the
controller that's the limiting factor.

> Although the aic7xxx driver is apparently coded to allow this, it looks
> like the code paths have never been exercised.
> So, although I think this patch will fix up the first error, there's
> probably a long line behind it ...

As you predicted, it tried but gave up.

Output follows:
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
        <Adaptec 29160 Ultra160 SCSI adapter>
        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

scsi0: Slave Alloc 0
(scsi0:A:0:0): Sending WDTR 0
(scsi0:A:0:0): Received WDTR 0 filtered to 0
 target0:0:0: FAST-5 SCSI 1.0 MB/s ST (1020 ns, offset 255)
scsi0: target 0 using 8bit transfers
(scsi0:A:0:0): Sending SDTR period 45, offset 0
(scsi0:A:0:0): Received SDTR period 45, offset 0
Filtered to period 0, offset 0
 target0:0:0: asynchronous.
scsi0: target 0 using asynchronous transfers
 Vendor: FUJITSU   Model: MAP3367NP         Rev: 0106
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0: Slave Configure 0
 target0:0:0: asynchronous.
scsi0:A:0:0:0: Tagged Queuing enabled.  Depth 32
 target0:0:0: Beginning Domain Validation
(scsi0:A:0:0): Sending WDTR 1
(scsi0:A:0:0): Received WDTR 1 filtered to 1
 target0:0:0: FAST-5 WIDE SCSI 2.0 MB/s ST (1020 ns, offset 255)
scsi0: target 0 using 16bit transfers
(scsi0:A:0:0): Sending SDTR period 45, offset 0
(scsi0:A:0:0): Received SDTR period 45, offset 0
Filtered to period 0, offset 0
 target0:0:0: wide asynchronous
scsi0: target 0 using asynchronous transfers
(scsi0:A:0:0): Sending PPR bus_width 1, period 9, offset 7f, ppr_options
7
(scsi0:A:0:0): Received PPR bus_width 1, period 9, offset 7f,
ppr_options 7
Filtered to width 1, period 9, offset 7f, options 7
 target0:0:0: FAST-80 WIDE SCSI 160.0 Mscsi0: target 0 synchronous at
80.0MHz DT, offset = 0x7
(scsi0:A:0:0): Unexpected busfree in Message-in phease
SEQADDR == 0x16b
 target0:0:0: Write Buffer failure 70000
 target0:0:0: Domain Validation Disabling Information Units
(scsi0:A:0:0): Sending PPR bus_width 1, period 9, offset 7f, ppr_options
6
(scsi0:A:0:0): refuses tagged comands.  Performing non-tagged I/O
 target0:0:0: FAST-80 WIDE SCSI 160.0 MB/s ST IU (12.5 ns, offset 127)
*PC hangs here*


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 19:03                 ` Tony Vroon
@ 2005-07-02 19:15                   ` Tony Vroon
  2005-07-02 19:46                   ` James Bottomley
  1 sibling, 0 replies; 13+ messages in thread
From: Tony Vroon @ 2005-07-02 19:15 UTC (permalink / raw)
  To: James Bottomley; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

[-- Attachment #1: Type: text/plain, Size: 2161 bytes --]

On Sat, 2005-07-02 at 20:03 +0100, Tony Vroon wrote:
> Output follows:
It got mangled somehow. Not sure what happened but it's corrupted near
the end. Reposting:
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
        <Adaptec 29160 Ultra160 SCSI adapter>
        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

scsi0: Slave Alloc 0
(scsi0:A:0:0): Sending WDTR 0
(scsi0:A:0:0): Received WDTR 0 filtered to 0
 target0:0:0: FAST-5 SCSI 1.0 MB/s ST (1020 ns, offset 255)
scsi0: target 0 using 8bit transfers
(scsi0:A:0:0): Sending SDTR period 45, offset 0
(scsi0:A:0:0): Received SDTR period 45, offset 0
Filtered to period 0, offset 0
 target0:0:0: asynchronous.
scsi0: target 0 using asynchronous transfers
 Vendor: FUJITSU   Model: MAP3367NP         Rev: 0106
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0: Slave Configure 0
 target0:0:0: asynchronous.
scsi0:A:0:0:0: Tagged Queuing enabled.  Depth 32
 target0:0:0: Beginning Domain Validation
(scsi0:A:0:0): Sending WDTR 1
(scsi0:A:0:0): Received WDTR 1 filtered to 1
 target0:0:0: FAST-5 WIDE SCSI 2.0 MB/s ST (1020 ns, offset 255)
scsi0: target 0 using 16bit transfers
(scsi0:A:0:0): Sending SDTR period 45, offset 0
(scsi0:A:0:0): Received SDTR period 45, offset 0
Filtered to period 0, offset 0
 target0:0:0: wide asynchronous
csi0: target 0 using asynchronous transfers
(scsi0:A:0:0): Sending PPR bus_width 1, period 9, offset 7f, ppr_options
7
(scsi0:A:0:0): Received PPR bus_width 1, period 9, offset 7f,
ppr_options 7
Filtered to width 1, period 9, offset 7f, options 7
 target0:0:0: FAST-80 WIDE SCSI 160.0 MB/s ST IU (12.5ns, offset 127)
scsi0: target 0 synchronous at 80.0MHz DT, offset = 0x7
(scsi0:A:0:0): Unexpected busfree in Message-in phase
SEQADDR == 0x16b
 target0:0:0: Write Buffer failure 70000
 target0:0:0: Domain Validation Disabling Information Units
(scsi0:A:0:0): Sending PPR bus_width 1, period 9, offset 7f, ppr_options
6
(scsi0:A:0:0): refuses tagged comands.  Performing non-tagged I/O
 target0:0:0: FAST-80 WIDE SCSI 160.0 MB/s ST IU (12.5 ns, offset 127)
*PC hangs here*


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 19:03                 ` Tony Vroon
  2005-07-02 19:15                   ` Tony Vroon
@ 2005-07-02 19:46                   ` James Bottomley
  2005-07-02 20:04                     ` Tony Vroon
  1 sibling, 1 reply; 13+ messages in thread
From: James Bottomley @ 2005-07-02 19:46 UTC (permalink / raw)
  To: Tony Vroon; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

On Sat, 2005-07-02 at 20:03 +0100, Tony Vroon wrote:
> As you predicted, it tried but gave up.

Well, I've looked more closely at this.  There's no support in either
the core or the sequencer for IU or QAS, so I think the safe course is
just to strip them out of the transport parameters (I don't have the
sequencer docs anyway, so there's no way I can correct the problem).

This should, therefore, get the whole lot booting again.

James

diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
@@ -2633,6 +2633,11 @@ static void ahc_linux_set_dt(struct scsi
 	ahc_unlock(ahc, &flags);
 }
 
+#if 0
+/* FIXME: This code claims to support IU and QAS.  However, the actual
+ * sequencer code and aic7xxx_core have no support for these parameters and
+ * will get into a bad state if they're negotiated.  Do not enable this
+ * unless you know what you're doing */
 static void ahc_linux_set_qas(struct scsi_target *starget, int qas)
 {
 	struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
@@ -2688,6 +2693,7 @@ static void ahc_linux_set_iu(struct scsi
 			 ppr_options, AHC_TRANS_GOAL, FALSE);
 	ahc_unlock(ahc, &flags);
 }
+#endif
 
 static struct spi_function_template ahc_linux_transport_functions = {
 	.set_offset	= ahc_linux_set_offset,
@@ -2698,10 +2704,12 @@ static struct spi_function_template ahc_
 	.show_width	= 1,
 	.set_dt		= ahc_linux_set_dt,
 	.show_dt	= 1,
+#if 0
 	.set_iu		= ahc_linux_set_iu,
 	.show_iu	= 1,
 	.set_qas	= ahc_linux_set_qas,
 	.show_qas	= 1,
+#endif
 };
 
 



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: aic7xxx regression occuring after 2.6.12 final
  2005-07-02 19:46                   ` James Bottomley
@ 2005-07-02 20:04                     ` Tony Vroon
  0 siblings, 0 replies; 13+ messages in thread
From: Tony Vroon @ 2005-07-02 20:04 UTC (permalink / raw)
  To: James Bottomley; +Cc: Linux Kernel, SCSI Mailing List, Andy Whitcroft

[-- Attachment #1: Type: text/plain, Size: 4369 bytes --]

On Sat, 2005-07-02 at 14:46 -0500, James Bottomley wrote:
> This should, therefore, get the whole lot booting again.
Confirmed. Thumbs up :)

For good measure, here is the relevant bit of dmesg output:
CPI: PCI Interrupt Link [APC3] enabled at IRQ 18
ACPI: PCI Interrupt 0000:01:08.0[A] -> Link [APC3] -> GSI 18 (level,
high) -> IRQ 17
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
        <Adaptec 29160 Ultra160 SCSI adapter>
        aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

 target0:0:0: asynchronous.
  Vendor: FUJITSU   Model: MAP3367NP         Rev: 0106
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0:A:0:0: Tagged Queuing enabled.  Depth 32
 target0:0:0: Beginning Domain Validation
 target0:0:0: wide asynchronous.
 target0:0:0: FAST-80 WIDE SCSI 160.0 MB/s ST (12.5 ns, offset 127)
 target0:0:0: Ending Domain Validation
(scsi0:A:1:0): refuses WIDE negotiation.  Using 8bit transfers
 target0:0:1: asynchronous.
  Vendor: YAMAHA    Model: CRW2100S          Rev: 1.0N
  Type:   CD-ROM                             ANSI SCSI revision: 02
 target0:0:1: Beginning Domain Validation
 target0:0:1: Domain Validation skipping write tests
 target0:0:1: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 7)
 target0:0:1: Ending Domain Validation
(scsi0:A:2:0): refuses WIDE negotiation.  Using 8bit transfers
 target0:0:2: asynchronous.
  Vendor: PIONEER   Model: DVD-ROM DVD-305   Rev: 1.03
  Type:   CD-ROM                             ANSI SCSI revision: 02
 target0:0:2: Beginning Domain Validation
 target0:0:2: Domain Validation skipping write tests
 target0:0:2: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 16)
 target0:0:2: Ending Domain Validation
target0:0:3: asynchronous.
  Vendor: PLEXTOR   Model: CD-ROM PX-40TS    Rev: 1.11
  Type:   CD-ROM                             ANSI SCSI revision: 02
 target0:0:3: Beginning Domain Validation
 target0:0:3: Domain Validation skipping write tests
 target0:0:3: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 15)
 target0:0:3: Ending Domain Validation
 target0:0:5: asynchronous.
  Vendor: QUANTUM   Model: ATLAS10K3_36_SCA  Rev: 020W
  Type:   Direct-Access                      ANSI SCSI revision: 03
scsi0:A:5:0: Tagged Queuing enabled.  Depth 32
 target0:0:5: Beginning Domain Validation
 target0:0:5: wide asynchronous.
 target0:0:5: FAST-80 WIDE SCSI 160.0 MB/s ST (12.5 ns, offset 127)
 target0:0:5: Ending Domain Validation
scsi0:A:6:0: Tagged Queuing enabled.  Depth 32
 target0:0:6: Beginning Domain Validation
 target0:0:6: wide asynchronous.
 target0:0:6: FAST-80 WIDE SCSI 160.0 MB/s ST (12.5 ns, offset 63)
 target0:0:6: Ending Domain Validation
SCSI device sda: 71775284 512-byte hdwr sectors (36749 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 71775284 512-byte hdwr sectors (36749 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sdb: 71833096 512-byte hdwr sectors (36779 MB)
SCSI device sdb: drive cache: write back
SCSI device sdb: 71833096 512-byte hdwr sectors (36779 MB)
SCSI device sdb: drive cache: write back
 sdb: sdb1
Attached scsi disk sdb at scsi0, channel 0, id 5, lun 0
ttached scsi disk sdb at scsi0, channel 0, id 5, lun 0
SCSI device sdc: 143374738 512-byte hdwr sectors (73408 MB)
SCSI device sdc: drive cache: write back
SCSI device sdc: 143374738 512-byte hdwr sectors (73408 MB)
SCSI device sdc: drive cache: write back
 sdc: sdc1
Attached scsi disk sdc at scsi0, channel 0, id 6, lun 0
sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 1, lun 0
sr1: scsi3-mmc drive: 16x/40x cd/rw xa/form2 cdda tray
Attached scsi CD-ROM sr1 at scsi0, channel 0, id 2, lun 0
sr2: scsi-1 drive
Attached scsi CD-ROM sr2 at scsi0, channel 0, id 3, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0
Attached scsi generic sg1 at scsi0, channel 0, id 1, lun 0,  type 5
Attached scsi generic sg2 at scsi0, channel 0, id 2, lun 0,  type 5
Attached scsi generic sg3 at scsi0, channel 0, id 3, lun 0,  type 5
Attached scsi generic sg4 at scsi0, channel 0, id 5, lun 0,  type 0
Attached scsi generic sg5 at scsi0, channel 0, id 6, lun 0,  type 0


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2005-07-02 20:05 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-29 22:50 aic7xxx regression occuring after 2.6.12 final Tony Vroon
2005-07-02 15:42 ` Tony Vroon
2005-07-02 16:22   ` James Bottomley
2005-07-02 16:46     ` Tony Vroon
2005-07-02 17:01       ` James Bottomley
2005-07-02 17:13         ` Tony Vroon
2005-07-02 17:33           ` James Bottomley
2005-07-02 17:47             ` Tony Vroon
2005-07-02 18:36               ` James Bottomley
2005-07-02 19:03                 ` Tony Vroon
2005-07-02 19:15                   ` Tony Vroon
2005-07-02 19:46                   ` James Bottomley
2005-07-02 20:04                     ` Tony Vroon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).