* What breaks aic7xxx in post 2.6.12-rc2 ? @ 2005-05-16 8:58 Grégoire Favre 2005-05-16 15:03 ` Jesper Juhl 2005-05-17 7:13 ` What breaks aic7xxx in post 2.6.12-rc2 ? Dinakar Guniguntala 0 siblings, 2 replies; 77+ messages in thread From: Grégoire Favre @ 2005-05-16 8:58 UTC (permalink / raw) To: linux-kernel Hello, as I reported in http://marc.theaimsgroup.com/?l=linux-kernel&m=111554477416794&w=2 I have lots of problem with aic7xxx (and till 2.6.12-rc2 everything works perfectly). I have tried to compil 2.6.12-rc4-mm1 without probe all Lun and it don't change anything at all to this problem. I have two different controllers : 0000:00:05.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02) 0000:00:0a.0 SCSI storage controller: Adaptec AHA-2940U/UW/D / AIC-7881U And I also use libsata. Anyone got an idea on what's going wrong ? Please CC to me : I am not on this mailinglist. -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-16 8:58 What breaks aic7xxx in post 2.6.12-rc2 ? Grégoire Favre @ 2005-05-16 15:03 ` Jesper Juhl 2005-05-16 15:12 ` What breaks aic7xxx in post 2.6.12-rc2 ? (on amd64 ?) Grégoire Favre 2005-05-17 7:13 ` What breaks aic7xxx in post 2.6.12-rc2 ? Dinakar Guniguntala 1 sibling, 1 reply; 77+ messages in thread From: Jesper Juhl @ 2005-05-16 15:03 UTC (permalink / raw) To: Grégoire Favre; +Cc: linux-kernel On Mon, 16 May 2005, Grégoire Favre wrote: > Hello, > > as I reported in > http://marc.theaimsgroup.com/?l=linux-kernel&m=111554477416794&w=2 > > I have lots of problem with aic7xxx (and till 2.6.12-rc2 everything > works perfectly). I have tried to compil 2.6.12-rc4-mm1 without probe > all Lun and it don't change anything at all to this problem. > > I have two different controllers : > > 0000:00:05.0 SCSI storage controller: Adaptec AIC-7892A U160/m (rev 02) > 0000:00:0a.0 SCSI storage controller: Adaptec AHA-2940U/UW/D / AIC-7881U > > And I also use libsata. > > Anyone got an idea on what's going wrong ? > Not me, it works perfectly here, but then I have different hardware (but using the aic7xxx driver). Here's what 2.6.12-rc4-mm1 has to say about my devices : [ 33.618922] scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 [ 33.618925] <Adaptec 29160N Ultra160 SCSI adapter> [ 33.618927] aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs [ 33.618930] [ 49.640570] (scsi0:A:4:0): refuses WIDE negotiation. Using 8bit transfers [ 49.644190] Vendor: PIONEER Model: DVD-ROM DVD-305 Rev: 1.03 [ 49.646714] Type: CD-ROM ANSI SCSI revision: 02 [ 49.649172] target0:0:4: Beginning Domain Validation [ 49.651858] (scsi0:A:4:0): refuses WIDE negotiation. Using 8bit transfers [ 49.657561] target0:0:4: Domain Validation skipping write tests [ 49.660414] (scsi0:A:4): 20.000MB/s transfers (20.000MHz, offset 16) [ 49.665476] target0:0:4: Ending Domain Validation [ 49.673599] Vendor: PLEXTOR Model: CD-R PX-W1210S Rev: 1.01 [ 49.676263] Type: CD-ROM ANSI SCSI revision: 02 [ 49.678814] target0:0:5: Beginning Domain Validation [ 49.683510] target0:0:5: Domain Validation skipping write tests [ 49.686322] (scsi0:A:5): 20.000MB/s transfers (20.000MHz, offset 16) [ 49.690423] target0:0:5: Ending Domain Validation [ 49.694849] Vendor: IBM Model: DDYS-T36950N Rev: S96H [ 49.697572] Type: Direct-Access ANSI SCSI revision: 03 [ 49.700193] scsi0:A:6:0: Tagged Queuing enabled. Depth 250 [ 49.702793] target0:0:6: Beginning Domain Validation [ 49.708229] WIDTH IS 1 [ 49.711280] (scsi0:A:6): 6.600MB/s transfers (16bit) [ 49.718361] (scsi0:A:6): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) [ 49.730609] target0:0:6: Ending Domain Validation [ 51.784340] SCSI device sda: 71687340 512-byte hdwr sectors (36704 MB) [ 51.788211] SCSI device sda: drive cache: write back [ 51.791748] SCSI device sda: 71687340 512-byte hdwr sectors (36704 MB) [ 51.795598] SCSI device sda: drive cache: write back [ 51.798176] sda: sda1 sda2 sda3 sda4 [ 51.817055] Attached scsi disk sda at scsi0, channel 0, id 6, lun 0 [ 51.821630] sr0: scsi3-mmc drive: 16x/40x cd/rw xa/form2 cdda tray [ 51.824276] Uniform CD-ROM driver Revision: 3.20 [ 51.826937] Attached scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0 [ 51.831792] sr1: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda tray [ 51.834486] Attached scsi CD-ROM sr1 at scsi0, channel 0, id 5, lun 0 -- Jesper Juhl ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? (on amd64 ?) 2005-05-16 15:03 ` Jesper Juhl @ 2005-05-16 15:12 ` Grégoire Favre 2005-05-16 15:31 ` Jesper Juhl 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-16 15:12 UTC (permalink / raw) To: Jesper Juhl; +Cc: linux-kernel On Mon, May 16, 2005 at 05:03:56PM +0200, Jesper Juhl wrote: > Not me, it works perfectly here, but then I have different hardware (but > using the aic7xxx driver). You are lucky, maybe I should also mention that I am under x86_64 ? Here under 2.6.12-rc2 : ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) (scsi0:A:15): 80.000MB/s transfers (40.000MHz DT, offset 63, 16bit) Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 scsi0:A:0:0: Tagged Queuing enabled. Depth 253 Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:15:0: Tagged Queuing enabled. Depth 253 scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs (scsi1:A:1): 10.000MB/s transfers (10.000MHz, offset 15) Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 (scsi1:A:2): 10.000MB/s transfers (10.000MHz, offset 8) Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 (scsi1:A:3): 10.000MB/s transfers (10.000MHz, offset 8) Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 libata version 1.10 loaded. sata_via version 1.1 ACPI: PCI Interrupt 0000:00:0f.0[B] -> GSI 20 (level, low) -> IRQ 20 sata_via(0000:00:0f.0): routed to hard irq line 4 ata1: SATA max UDMA/133 cmd 0xE000 ctl 0xDC02 bmdma 0xD000 irq 20 ata2: SATA max UDMA/133 cmd 0xD800 ctl 0xD402 bmdma 0xD008 irq 20 ata1: no device found (phy stat 00000000) scsi2 : sata_via ata2: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4043 85:7c69 86:3e01 87:4043 88:407f ata2: dev 0 ATA, max UDMA/133, 398297088 sectors: lba48 ata2: dev 0 configured for UDMA/133 scsi3 : sata_via Vendor: ATA Model: Maxtor 6B200M0 Rev: BANC Type: Direct-Access ANSI SCSI revision: 05 SCSI device sda: 17850000 512-byte hdwr sectors (9139 MB) SCSI device sda: drive cache: write back sda: sda1 sda2 Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sdb: 71687370 512-byte hdwr sectors (36704 MB) SCSI device sdb: drive cache: write back SCSI device sdb: 71687370 512-byte hdwr sectors (36704 MB) SCSI device sdb: drive cache: write back sdb: sdb1 sdb2 Attached scsi disk sdb at scsi0, channel 0, id 15, lun 0 SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB) SCSI device sdc: drive cache: write back SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB) SCSI device sdc: drive cache: write back sdc: sdc1 sdc2 Attached scsi disk sdc at scsi3, channel 0, id 0, lun 0 sr0: scsi3-mmc drive: 32x/32x cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr0 at scsi1, channel 0, id 1, lun 0 sr1: scsi3-mmc drive: 20x/20x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr1 at scsi1, channel 0, id 2, lun 0 sr2: scsi3-mmc drive: 20x/20x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr2 at scsi1, 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 15, lun 0, type 0 Attached scsi generic sg2 at scsi1, channel 0, id 1, lun 0, type 5 Attached scsi generic sg3 at scsi1, channel 0, id 2, lun 0, type 5 Attached scsi generic sg4 at scsi1, channel 0, id 3, lun 0, type 5 Attached scsi generic sg5 at scsi3, channel 0, id 0, lun 0, type 0 usbmon: debugs is not available ACPI: PCI Interrupt 0000:00:10.4[C] -> GSI 21 (level, low) -> IRQ 21 ehci_hcd 0000:00:10.4: VIA Technologies, Inc. USB 2.0 ehci_hcd 0000:00:10.4: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:10.4: irq 21, io mem 0xcfffe900 ehci_hcd 0000:00:10.4: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004 hub 1-0:1.0: USB hub found hub 1-0:1.0: 8 ports detected USB Universal Host Controller Interface driver v2.2 ACPI: PCI Interrupt 0000:00:10.0[A] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.0: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller uhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2 uhci_hcd 0000:00:10.0: irq 21, io base 0x0000bc00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.1[A] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.1: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#2) uhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 3 uhci_hcd 0000:00:10.1: irq 21, io base 0x0000c000 hub 3-0:1.0: USB hub found hub 3-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.2[B] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.2: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#3) uhci_hcd 0000:00:10.2: new USB bus registered, assigned bus number 4 uhci_hcd 0000:00:10.2: irq 21, io base 0x0000c400 hub 4-0:1.0: USB hub found hub 4-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.3[B] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.3: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#4) uhci_hcd 0000:00:10.3: new USB bus registered, assigned bus number 5 uhci_hcd 0000:00:10.3: irq 21, io base 0x0000c800 hub 5-0:1.0: USB hub found hub 5-0:1.0: 2 ports detected Initializing USB Mass Storage driver... usbcore: registered new driver usb-storage USB Mass Storage support registered. Anyone has aic7xxx working post 2.6.12-rc2 on amd64 ? Thank you very much and please keep CC to me as I am not on this ml. -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? (on amd64 ?) 2005-05-16 15:12 ` What breaks aic7xxx in post 2.6.12-rc2 ? (on amd64 ?) Grégoire Favre @ 2005-05-16 15:31 ` Jesper Juhl 0 siblings, 0 replies; 77+ messages in thread From: Jesper Juhl @ 2005-05-16 15:31 UTC (permalink / raw) To: Grégoire Favre; +Cc: linux-kernel On Mon, 16 May 2005, Grégoire Favre wrote: > On Mon, May 16, 2005 at 05:03:56PM +0200, Jesper Juhl wrote: > > > Not me, it works perfectly here, but then I have different hardware (but > > using the aic7xxx driver). > > You are lucky, maybe I should also mention that I am under x86_64 ? > Have you tried enabling some of the debug options and the options that give you more verbose errors? That might help diagnose what wrong. Just a guess, I don't know, but I'd try these options : CONFIG_SCSI_CONSTANTS CONFIG_SCSI_LOGGING CONFIG_AIC7XXX_DEBUG_ENABLE CONFIG_AIC7XXX_DEBUG_MASK CONFIG_AIC7XXX_REG_PRETTY_PRINT read the help for those options to see what they do and how to use them. -- Jesper Juhl ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-16 8:58 What breaks aic7xxx in post 2.6.12-rc2 ? Grégoire Favre 2005-05-16 15:03 ` Jesper Juhl @ 2005-05-17 7:13 ` Dinakar Guniguntala 2005-05-17 7:29 ` Andrew Morton 1 sibling, 1 reply; 77+ messages in thread From: Dinakar Guniguntala @ 2005-05-17 7:13 UTC (permalink / raw) To: Grégoire Favre; +Cc: linux-kernel Here's a me too report. This is controller that I have 00:0e.0 SCSI storage controller: Adaptec AIC-7896U2/7897U2 I never used to get warning such as "refuses WIDE negotiation" in kernels prior to 2.6.12-rc3-mm3. The machine (x86) boots up fine though. Here's the relevant dmesg output from 2.6.12-rc4-mm1 ====================================================================== scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7896/97 Ultra2 SCSI adapter> aic7896/97: Ultra2 Wide Channel B, SCSI Id=7, 32/253 SCBs Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 Type: Direct-Access ANSI SCSI revision: 02 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) target0:0:0: Domain Validation skipping write tests (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:0: Ending Domain Validation Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 Type: Direct-Access ANSI SCSI revision: 02 scsi0:A:1:0: Tagged Queuing enabled. Depth 32 target0:0:1: Beginning Domain Validation WIDTH IS 1 (scsi0:A:1): 6.600MB/s transfers (16bit) target0:0:1: Domain Validation skipping write tests (scsi0:A:1): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:1: Ending Domain Validation (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers <============ scsi0:0:15:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x36 0x0 scsi0: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi0: Dumping Card State in Data-in phase, at SEQADDR 0x85 Card was paused ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0xe4, ARG_2 = 0x0 HCNT = 0x36 SCBPTR = 0x0 SCSISIGI[0x46] ERROR[0x0] SCSIBUSL[0x3] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0xa] SCSIRATE[0x0] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x40] SSTAT3[0x0] SIMODE0[0x8] SIMODE1[0xac] SXFRCTL0[0x80] DFCNTRL[0x28] DFSTATUS[0x80] STACK: 0x0 0x160 0x176 0x83 SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Sequencer SCB Info: 0 SCB_CONTROL[0x40] SCB_SCSIID[0xf7] SCB_LUN[0x0] SCB_TAG[0x2] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x40] SCB_SCSIID[0xf7] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(15): 2 DevQ(0:0:0): 0 waiting DevQ(0:1:0): 0 waiting DevQ(0:15:0): 0 waiting <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi0:0:15:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi0:0:15:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x36 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers scsi0:0:15:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x36 0x0 scsi0: At time of recovery, card was not paused ====================================================================== ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 7:13 ` What breaks aic7xxx in post 2.6.12-rc2 ? Dinakar Guniguntala @ 2005-05-17 7:29 ` Andrew Morton 2005-05-17 8:34 ` Dinakar Guniguntala 2005-05-17 14:34 ` James Bottomley 0 siblings, 2 replies; 77+ messages in thread From: Andrew Morton @ 2005-05-17 7:29 UTC (permalink / raw) To: dino; +Cc: gregoire.favre, linux-kernel, linux-scsi Dinakar Guniguntala <dino@in.ibm.com> wrote: > > > Here's a me too report. Better cc linux-scsi. Are these bugs also present in 2.6.12-rc4? > This is controller that I have > > 00:0e.0 SCSI storage controller: Adaptec AIC-7896U2/7897U2 > > I never used to get warning such as "refuses WIDE negotiation" > in kernels prior to 2.6.12-rc3-mm3. > The machine (x86) boots up fine though. > > Here's the relevant dmesg output from 2.6.12-rc4-mm1 > > ====================================================================== > > scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 > <Adaptec aic7896/97 Ultra2 SCSI adapter> > aic7896/97: Ultra2 Wide Channel B, SCSI Id=7, 32/253 SCBs > > Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 > Type: Direct-Access ANSI SCSI revision: 02 > 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) > target0:0:0: Domain Validation skipping write tests > (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) > target0:0:0: Ending Domain Validation > Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 > Type: Direct-Access ANSI SCSI revision: 02 > scsi0:A:1:0: Tagged Queuing enabled. Depth 32 > target0:0:1: Beginning Domain Validation > WIDTH IS 1 > (scsi0:A:1): 6.600MB/s transfers (16bit) > target0:0:1: Domain Validation skipping write tests > (scsi0:A:1): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) > target0:0:1: Ending Domain Validation > (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers <============ > scsi0:0:15:0: Attempting to queue an ABORT message > CDB: 0x12 0x0 0x0 0x0 0x36 0x0 > scsi0: At time of recovery, card was not paused > >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< > scsi0: Dumping Card State in Data-in phase, at SEQADDR 0x85 > Card was paused > ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0xe4, ARG_2 = 0x0 > HCNT = 0x36 SCBPTR = 0x0 > SCSISIGI[0x46] ERROR[0x0] SCSIBUSL[0x3] LASTPHASE[0x40] > SCSISEQ[0x12] SBLKCTL[0xa] SCSIRATE[0x0] SEQCTL[0x10] > SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x40] > SSTAT3[0x0] SIMODE0[0x8] SIMODE1[0xac] SXFRCTL0[0x80] > DFCNTRL[0x28] DFSTATUS[0x80] > STACK: 0x0 0x160 0x176 0x83 > SCB count = 4 > Kernel NEXTQSCB = 3 > Card NEXTQSCB = 3 > QINFIFO entries: > Waiting Queue entries: > Disconnected Queue entries: > QOUTFIFO entries: > Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 > Sequencer SCB Info: > 0 SCB_CONTROL[0x40] SCB_SCSIID[0xf7] SCB_LUN[0x0] SCB_TAG[0x2] > 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > Pending list: > 2 SCB_CONTROL[0x40] SCB_SCSIID[0xf7] SCB_LUN[0x0] > Kernel Free SCB list: 1 0 > Untagged Q(15): 2 > DevQ(0:0:0): 0 waiting > DevQ(0:1:0): 0 waiting > DevQ(0:15:0): 0 waiting > > <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> > scsi0:0:15:0: Device is active, asserting ATN > Recovery code sleeping > Recovery code awake > Timer Expired > aic7xxx_abort returns 0x2003 > scsi0:0:15:0: Attempting to queue a TARGET RESET message > CDB: 0x12 0x0 0x0 0x0 0x36 0x0 > aic7xxx_dev_reset returns 0x2003 > Recovery SCB completes > (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers > (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers > scsi0:0:15:0: Attempting to queue an ABORT message > CDB: 0x12 0x0 0x0 0x0 0x36 0x0 > scsi0: At time of recovery, card was not paused > > > ====================================================================== > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 7:29 ` Andrew Morton @ 2005-05-17 8:34 ` Dinakar Guniguntala 2005-05-17 14:34 ` James Bottomley 1 sibling, 0 replies; 77+ messages in thread From: Dinakar Guniguntala @ 2005-05-17 8:34 UTC (permalink / raw) To: Andrew Morton; +Cc: gregoire.favre, linux-kernel, linux-scsi On Tue, May 17, 2005 at 12:29:08AM -0700, Andrew Morton wrote: > Better cc linux-scsi. Thanks > Are these bugs also present in 2.6.12-rc4? Yes, I tried a vanilla 2.6.12-rc4 and I get the same output. I get this from 2.6.12-rc3 onwards. Maybe something from the following changeset of 2.6.12-rc3 ?? jejb@titanic.il.steeleye.com: [PATCH] finally fix 53c700 to use the generic iomem infrastructure [PATCH] Convert i2o to compat_ioctl [PATCH] Convert i2o to compat_ioctl aic7xxx: add support for the SPI transport class aic7xxx: convert to SPI transport class Domain Validation lpfc: add Emulex FC driver version 8.0.28 qla2xxx: fix compiler warning in qla_attr.c scsi: add DID_REQUEUE to the error handling scsi: add DID_REQUEUE to the error handling updates for CFQ oops fix zfcp: add point-2-point support zfcp: add point-2-point support -Dinakar > > This is controller that I have > > > > 00:0e.0 SCSI storage controller: Adaptec AIC-7896U2/7897U2 > > > > I never used to get warning such as "refuses WIDE negotiation" > > in kernels prior to 2.6.12-rc3-mm3. > > The machine (x86) boots up fine though. > > > > Here's the relevant dmesg output from 2.6.12-rc4-mm1 > > > > ====================================================================== > > > > scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 > > <Adaptec aic7896/97 Ultra2 SCSI adapter> > > aic7896/97: Ultra2 Wide Channel B, SCSI Id=7, 32/253 SCBs > > > > Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 > > Type: Direct-Access ANSI SCSI revision: 02 > > 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) > > target0:0:0: Domain Validation skipping write tests > > (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) > > target0:0:0: Ending Domain Validation > > Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 > > Type: Direct-Access ANSI SCSI revision: 02 > > scsi0:A:1:0: Tagged Queuing enabled. Depth 32 > > target0:0:1: Beginning Domain Validation > > WIDTH IS 1 > > (scsi0:A:1): 6.600MB/s transfers (16bit) > > target0:0:1: Domain Validation skipping write tests > > (scsi0:A:1): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) > > target0:0:1: Ending Domain Validation > > (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers <============ > > scsi0:0:15:0: Attempting to queue an ABORT message > > CDB: 0x12 0x0 0x0 0x0 0x36 0x0 > > scsi0: At time of recovery, card was not paused > > >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< > > scsi0: Dumping Card State in Data-in phase, at SEQADDR 0x85 > > Card was paused > > ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0xe4, ARG_2 = 0x0 > > HCNT = 0x36 SCBPTR = 0x0 > > SCSISIGI[0x46] ERROR[0x0] SCSIBUSL[0x3] LASTPHASE[0x40] > > SCSISEQ[0x12] SBLKCTL[0xa] SCSIRATE[0x0] SEQCTL[0x10] > > SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x40] > > SSTAT3[0x0] SIMODE0[0x8] SIMODE1[0xac] SXFRCTL0[0x80] > > DFCNTRL[0x28] DFSTATUS[0x80] > > STACK: 0x0 0x160 0x176 0x83 > > SCB count = 4 > > Kernel NEXTQSCB = 3 > > Card NEXTQSCB = 3 > > QINFIFO entries: > > Waiting Queue entries: > > Disconnected Queue entries: > > QOUTFIFO entries: > > Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 > > Sequencer SCB Info: > > 0 SCB_CONTROL[0x40] SCB_SCSIID[0xf7] SCB_LUN[0x0] SCB_TAG[0x2] > > 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] > > Pending list: > > 2 SCB_CONTROL[0x40] SCB_SCSIID[0xf7] SCB_LUN[0x0] > > Kernel Free SCB list: 1 0 > > Untagged Q(15): 2 > > DevQ(0:0:0): 0 waiting > > DevQ(0:1:0): 0 waiting > > DevQ(0:15:0): 0 waiting > > > > <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> > > scsi0:0:15:0: Device is active, asserting ATN > > Recovery code sleeping > > Recovery code awake > > Timer Expired > > aic7xxx_abort returns 0x2003 > > scsi0:0:15:0: Attempting to queue a TARGET RESET message > > CDB: 0x12 0x0 0x0 0x0 0x36 0x0 > > aic7xxx_dev_reset returns 0x2003 > > Recovery SCB completes > > (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers > > (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers > > scsi0:0:15:0: Attempting to queue an ABORT message > > CDB: 0x12 0x0 0x0 0x0 0x36 0x0 > > scsi0: At time of recovery, card was not paused > > > > > > ====================================================================== ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 7:29 ` Andrew Morton 2005-05-17 8:34 ` Dinakar Guniguntala @ 2005-05-17 14:34 ` James Bottomley 2005-05-17 15:57 ` Grégoire Favre 2005-05-17 17:08 ` Dinakar Guniguntala 1 sibling, 2 replies; 77+ messages in thread From: James Bottomley @ 2005-05-17 14:34 UTC (permalink / raw) To: Andrew Morton; +Cc: dino, gregoire.favre, Linux Kernel, SCSI Mailing List On Tue, 2005-05-17 at 00:29 -0700, Andrew Morton wrote: > Better cc linux-scsi. Always a wise thing to do for SCSI failure reports. > > target0:0:1: Ending Domain Validation > > (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers <============ > > scsi0:0:15:0: Attempting to queue an ABORT message > > CDB: 0x12 0x0 0x0 0x0 0x36 0x0 Actually, this isn't a me too. The previous one looks like some strange DV failure. This is a problem with the initial inquiry. What's the device at target 15? James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 14:34 ` James Bottomley @ 2005-05-17 15:57 ` Grégoire Favre 2005-05-17 16:38 ` James Bottomley 2005-05-17 17:08 ` Dinakar Guniguntala 1 sibling, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-17 15:57 UTC (permalink / raw) To: James Bottomley; +Cc: Andrew Morton, dino, Linux Kernel, SCSI Mailing List On Tue, May 17, 2005 at 09:34:25AM -0500, James Bottomley wrote: > Actually, this isn't a me too. The previous one looks like some strange > DV failure. This is a problem with the initial inquiry. What's the > device at target 15? On this controler I have : Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 15 Lun: 00 Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 Should I change anything in the BIOS ? Thank you, and please keep CC to me as I am not on this ml :-) -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 15:57 ` Grégoire Favre @ 2005-05-17 16:38 ` James Bottomley 2005-05-17 16:52 ` Grégoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-17 16:38 UTC (permalink / raw) To: Grégoire Favre; +Cc: Andrew Morton, dino, Linux Kernel, SCSI Mailing List On Tue, 2005-05-17 at 17:57 +0200, Grégoire Favre wrote: > On this controler I have : > > Host: scsi0 Channel: 00 Id: 00 Lun: 00 > Vendor: IBM Model: DDRS-39130D Rev: DC1B > Type: Direct-Access ANSI SCSI revision: 02 > Host: scsi0 Channel: 00 Id: 15 Lun: 00 > Vendor: SEAGATE Model: ST336706LW Rev: 0108 > Type: Direct-Access ANSI SCSI revision: 03 Erm, that doesn't square with the bug report: > Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 > Type: Direct-Access ANSI SCSI revision: 02 > scsi0:A:0:0: Tagged Queuing enabled. Depth 32 [...] > Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 > Type: Direct-Access ANSI SCSI revision: 02 > scsi0:A:1:0: Tagged Queuing enabled. Depth 32 James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 16:38 ` James Bottomley @ 2005-05-17 16:52 ` Grégoire Favre 2005-05-17 18:16 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-17 16:52 UTC (permalink / raw) To: James Bottomley; +Cc: Andrew Morton, dino, Linux Kernel, SCSI Mailing List On Tue, May 17, 2005 at 11:38:34AM -0500, James Bottomley wrote: > On Tue, 2005-05-17 at 17:57 +0200, Grégoire Favre wrote: > > On this controler I have : > > > > Host: scsi0 Channel: 00 Id: 00 Lun: 00 > > Vendor: IBM Model: DDRS-39130D Rev: DC1B > > Type: Direct-Access ANSI SCSI revision: 02 > > Host: scsi0 Channel: 00 Id: 15 Lun: 00 > > Vendor: SEAGATE Model: ST336706LW Rev: 0108 > > Type: Direct-Access ANSI SCSI revision: 03 > > Erm, that doesn't square with the bug report: > > > Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 > > Type: Direct-Access ANSI SCSI revision: 02 > > scsi0:A:0:0: Tagged Queuing enabled. Depth 32 > [...] > > Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 > > Type: Direct-Access ANSI SCSI revision: 02 > > scsi0:A:1:0: Tagged Queuing enabled. Depth 32 Well, I just did some copy, and I didn't swap hardware ??? What does that mean ? -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 16:52 ` Grégoire Favre @ 2005-05-17 18:16 ` James Bottomley 0 siblings, 0 replies; 77+ messages in thread From: James Bottomley @ 2005-05-17 18:16 UTC (permalink / raw) To: Grégoire Favre; +Cc: Andrew Morton, dino, Linux Kernel, SCSI Mailing List On Tue, 2005-05-17 at 18:52 +0200, Grégoire Favre wrote: > I just did some copy, and I didn't swap hardware ??? > > What does that mean ? I think the bug report that Andrew forwarded to linux-scsi with the above Subject: is from dino@in.ibm.com (at least, his information matches the trace). James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 14:34 ` James Bottomley 2005-05-17 15:57 ` Grégoire Favre @ 2005-05-17 17:08 ` Dinakar Guniguntala 2005-05-17 18:34 ` James Bottomley 1 sibling, 1 reply; 77+ messages in thread From: Dinakar Guniguntala @ 2005-05-17 17:08 UTC (permalink / raw) To: James Bottomley Cc: Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Tue, May 17, 2005 at 09:34:25AM -0500, James Bottomley wrote: > > > target0:0:1: Ending Domain Validation > > > (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers <============ > > > scsi0:0:15:0: Attempting to queue an ABORT message > > > CDB: 0x12 0x0 0x0 0x0 0x36 0x0 > > Actually, this isn't a me too. The previous one looks like some strange > DV failure. This is a problem with the initial inquiry. What's the > device at target 15? Not sure what is it that you want, but here is the lspci -vv (It is a IBM x370 box) 00:0e.0 SCSI storage controller: Adaptec AIC-7896U2/7897U2 Subsystem: Adaptec: Unknown device 080f Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping- SERR+ FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 100 (9750ns min, 6250ns max), cache line size 08 Interrupt: pin A routed to IRQ 51 BIST result: 00 Region 0: I/O ports at 2200 [disabled] [size=256] Region 1: Memory at f9ffd000 (64-bit, non-prefetchable) [size=4K] Expansion ROM at <unassigned> [disabled] [size=128K] Capabilities: [dc] Power Management version 1 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- And here is the output when it boots up fine without the warnings on 2.6.12-rc2 May 9 12:03:32 llm09 kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 9 12:03:32 llm09 kernel: <Adaptec aic7896/97 Ultra2 SCSI adapter> May 9 12:03:32 llm09 kernel: aic7896/97: Ultra2 Wide Channel B, SCSI Id=7, 32/253 SCBs May 9 12:03:32 llm09 kernel: May 9 12:03:32 llm09 kernel: (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) May 9 12:03:32 llm09 kernel: Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 May 9 12:03:32 llm09 kernel: Type: Direct-Access ANSI SCSI revision: 02 May 9 12:03:32 llm09 kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 32 May 9 12:03:32 llm09 kernel: ACPI: No ACPI bus support for 0:0:0:0 May 9 12:03:32 llm09 kernel: (scsi0:A:1): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) May 9 12:03:32 llm09 kernel: Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 May 9 12:03:32 llm09 kernel: Type: Direct-Access ANSI SCSI revision: 02 May 9 12:03:32 llm09 kernel: scsi0:A:1:0: Tagged Queuing enabled. Depth 32 May 9 12:03:32 llm09 kernel: ACPI: No ACPI bus support for 0:0:1:0 May 9 12:03:32 llm09 kernel: Vendor: IBM CORP Model: GEM312 V002 Rev: 4.1b May 9 12:03:32 llm09 kernel: Type: Processor ANSI SCSI revision: 02 May 9 12:03:32 llm09 kernel: ACPI: No ACPI bus support for 0:0:15:0 May 9 12:03:32 llm09 kernel: scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 9 12:03:32 llm09 kernel: <Adaptec aic7896/97 Ultra2 SCSI adapter> May 9 12:03:33 llm09 kernel: aic7896/97: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs May 9 12:03:33 llm09 kernel: May 9 12:03:33 llm09 kernel: SCSI device sda: 17774160 512-byte hdwr sectors (9100 MB) May 9 12:03:33 llm09 kernel: SCSI device sda: drive cache: write through May 9 12:03:33 llm09 kernel: SCSI device sda: 17774160 512-byte hdwr sectors (9100 MB) May 9 12:03:33 llm09 kernel: SCSI device sda: drive cache: write through May 9 12:03:33 llm09 kernel: sda: sda1 sda2 sda3 May 9 12:03:33 llm09 kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 May 9 12:03:33 llm09 kernel: SCSI device sdb: 17774160 512-byte hdwr sectors (9100 MB) May 9 12:03:33 llm09 kernel: SCSI device sdb: drive cache: write through May 9 12:03:33 llm09 kernel: SCSI device sdb: 17774160 512-byte hdwr sectors (9100 MB) May 9 12:03:33 llm09 kernel: SCSI device sdb: drive cache: write through May 9 12:03:33 llm09 kernel: sdb: sdb1 May 9 12:03:33 llm09 kernel: Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0 May 9 12:03:33 llm09 kernel: Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 May 9 12:03:33 llm09 kernel: Attached scsi generic sg1 at scsi0, channel 0, id 1, lun 0, type 0 May 9 12:03:33 llm09 kernel: Attached scsi generic sg2 at scsi0, channel 0, id 15, lun 0, type 3 Hope this helps -Dinakar ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 17:08 ` Dinakar Guniguntala @ 2005-05-17 18:34 ` James Bottomley 2005-05-17 19:26 ` Grégoire Favre ` (2 more replies) 0 siblings, 3 replies; 77+ messages in thread From: James Bottomley @ 2005-05-17 18:34 UTC (permalink / raw) To: dino; +Cc: Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Tue, 2005-05-17 at 22:38 +0530, Dinakar Guniguntala wrote: > May 9 12:03:32 llm09 kernel: Vendor: IBM CORP Model: GEM312 V002 Rev: 4.1b > May 9 12:03:32 llm09 kernel: Type: Processor ANSI SCSI revision: 02 OK, that's roughly what I was expecting. These processor chips tend to be rather basic when it comes to rates and widths. The root cause, I think, is that the aic7xxx isn't starting out at async narrow for the first inquiry (because the original DV code I removed did this, and I didn't add an equivalent back). The latest aic7xxx patch should sort this out. So, to get all of these changes, could you start with vanilla linus kernel 2.6.12-rc4 (or tree based on this, but not -mm which already has some of the SCSI tree included) and then apply the SCSI patch at http://parisc-linux.org/~jejb/scsi_diffs/scsi-misc-2.6.diff and see if it works? Thanks, James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 18:34 ` James Bottomley @ 2005-05-17 19:26 ` Grégoire Favre 2005-05-17 19:50 ` James Bottomley 2005-05-18 9:07 ` Dinakar Guniguntala 2005-05-19 3:07 ` K.R. Foley 2 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-17 19:26 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Tue, May 17, 2005 at 01:34:53PM -0500, James Bottomley wrote: > So, to get all of these changes, could you start with vanilla linus > kernel 2.6.12-rc4 (or tree based on this, but not -mm which already has > some of the SCSI tree included) and then apply the SCSI patch at > > http://parisc-linux.org/~jejb/scsi_diffs/scsi-misc-2.6.diff > > and see if it works? Well, it don't... I send you a private mail with a picture I take a boot time. Thank, -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 19:26 ` Grégoire Favre @ 2005-05-17 19:50 ` James Bottomley 2005-05-17 19:56 ` Grégoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-17 19:50 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Tue, 2005-05-17 at 21:26 +0200, Grégoire Favre wrote: > Well, it don't... I send you a private mail with a picture I take a boot > time. Right, but the problem I think it will fix is the initial inquiry being sent with the wrong transport parameters. You have a different problem, I think ... it looks like your Toshiba DVD does somthing strange during Domain Validation ... the question I don't have an answer to yet, is what. James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 19:50 ` James Bottomley @ 2005-05-17 19:56 ` Grégoire Favre 2005-05-17 21:06 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-17 19:56 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Tue, May 17, 2005 at 02:50:31PM -0500, James Bottomley wrote: > Right, but the problem I think it will fix is the initial inquiry being > sent with the wrong transport parameters. > > You have a different problem, I think ... it looks like your Toshiba DVD > does somthing strange during Domain Validation ... the question I don't > have an answer to yet, is what. Oh, sorry, thank you for the patch :-) -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 19:56 ` Grégoire Favre @ 2005-05-17 21:06 ` James Bottomley 2005-05-17 22:09 ` Grégoire Favre 2005-05-21 23:22 ` Grégoire Favre 0 siblings, 2 replies; 77+ messages in thread From: James Bottomley @ 2005-05-17 21:06 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Tue, 2005-05-17 at 21:56 +0200, Grégoire Favre wrote: > On Tue, May 17, 2005 at 02:50:31PM -0500, James Bottomley wrote: > > > Right, but the problem I think it will fix is the initial inquiry being > > sent with the wrong transport parameters. > > > > You have a different problem, I think ... it looks like your Toshiba DVD > > does somthing strange during Domain Validation ... the question I don't > > have an answer to yet, is what. > > Oh, sorry, thank you for the patch :-) Well, the attached is what I'd like you to try, capturing the information from the initial inquiry on ... it will be quite a bit. Hopefully it will give me a clearer idea of what's going on. Thanks, James --- a/drivers/scsi/scsi_transport_spi.c +++ b/drivers/scsi/scsi_transport_spi.c @@ -669,14 +669,23 @@ spi_dv_retrain(struct scsi_request *sreq { struct spi_internal *i = to_spi_internal(sreq->sr_host->transportt); struct scsi_device *sdev = sreq->sr_device; + struct scsi_target *starget = sdev->sdev_target; int period = 0, prevperiod = 0; enum spi_compare_returns retval; for (;;) { int newperiod; + retval = compare_fn(sreq, buffer, ptr, DV_LOOPS); + if(i->f->get_period) + i->f->get_period(starget); + if (i->f->get_offset) + i->f->get_offset(starget); + + spi_display_xfer_agreement(starget); + if (retval == SPI_COMPARE_SUCCESS || retval == SPI_COMPARE_SKIP_TEST) break; @@ -765,6 +774,8 @@ spi_dv_device_internal(struct scsi_reque /* first set us up for narrow async */ DV_SET(offset, 0); DV_SET(width, 0); + + printk("BEGINNING ASYNC, inq len = %d\n", sdev->inquiry_len); if (spi_dv_device_compare_inquiry(sreq, buffer, buffer, DV_LOOPS) != SPI_COMPARE_SUCCESS) { @@ -773,11 +784,13 @@ spi_dv_device_internal(struct scsi_reque return; } + printk("ASYNC INQUIRY SUCCEEDED\n"); + /* test width */ if (i->f->set_width && spi_max_width(starget) && sdev->wdtr) { i->f->set_width(sdev->sdev_target, 1); - printk("WIDTH IS %d\n", spi_max_width(starget)); + printk("TRYING WIDE ASYNC INQUIRY\n"); if (spi_dv_device_compare_inquiry(sreq, buffer, buffer + len, @@ -802,12 +815,17 @@ spi_dv_device_internal(struct scsi_reque if (sdev->ppr) len = spi_dv_device_get_echo_buffer(sreq, buffer); + printk("ECHO BUFFER HAS LEN %d\n", len); + retry: /* now set up to the maximum */ DV_SET(offset, spi_max_offset(starget)); DV_SET(period, spi_min_period(starget)); + printk("DV SETTING TO period %d, offset %d\n", spi_min_period(starget), + spi_max_offset(starget)); + if (len == 0) { SPI_PRINTK(sdev->sdev_target, KERN_INFO, "Domain Validation skipping write tests\n"); spi_dv_retrain(sreq, buffer, buffer + len, ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 21:06 ` James Bottomley @ 2005-05-17 22:09 ` Grégoire Favre 2005-05-17 22:14 ` James Bottomley 2005-05-21 23:22 ` Grégoire Favre 1 sibling, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-17 22:09 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Tue, May 17, 2005 at 04:06:11PM -0500, James Bottomley wrote: > Well, the attached is what I'd like you to try, capturing the > information from the initial inquiry on ... it will be quite a bit. > > Hopefully it will give me a clearer idea of what's going on. Could I just take some pictures of the boot process and send them to you ? Or is there any way to use an usb palm to catch the console output ? Thank you very much, -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 22:09 ` Grégoire Favre @ 2005-05-17 22:14 ` James Bottomley 0 siblings, 0 replies; 77+ messages in thread From: James Bottomley @ 2005-05-17 22:14 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Wed, 2005-05-18 at 00:09 +0200, Grégoire Favre wrote: > Could I just take some pictures of the boot process and send them to > you ? Not really, the messages I need will be embedded in a lot of other output and will likely scroll off the screen > Or is there any way to use an usb palm to catch the console output ? If it has a serial port, sure, just use a serial console. If it doesn't, try removing the DVD during boot, then plug it back in again and trigger a device add echo scsi add-single-device <n> 0 1 0 > /proc/scsi/scsi where <n> is whatever SCSI number the rest of your CD-ROM's appear on (it was 1 in your first trace). James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 21:06 ` James Bottomley 2005-05-17 22:09 ` Grégoire Favre @ 2005-05-21 23:22 ` Grégoire Favre 2005-05-22 13:54 ` James Bottomley 1 sibling, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-21 23:22 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Tue, May 17, 2005 at 04:06:11PM -0500, James Bottomley wrote: > Well, the attached is what I'd like you to try, capturing the > information from the initial inquiry on ... it will be quite a bit. > > Hopefully it will give me a clearer idea of what's going on. I have found a way to fetch the console :-) Against which kernel revision is your patch made for ? Thank you very much :-) > Thanks, > > James > > --- a/drivers/scsi/scsi_transport_spi.c > +++ b/drivers/scsi/scsi_transport_spi.c > @@ -669,14 +669,23 @@ spi_dv_retrain(struct scsi_request *sreq > { > struct spi_internal *i = to_spi_internal(sreq->sr_host->transportt); > struct scsi_device *sdev = sreq->sr_device; > + struct scsi_target *starget = sdev->sdev_target; > int period = 0, prevperiod = 0; > enum spi_compare_returns retval; > > > for (;;) { > int newperiod; > + > retval = compare_fn(sreq, buffer, ptr, DV_LOOPS); > > + if(i->f->get_period) > + i->f->get_period(starget); > + if (i->f->get_offset) > + i->f->get_offset(starget); > + > + spi_display_xfer_agreement(starget); > + > if (retval == SPI_COMPARE_SUCCESS > || retval == SPI_COMPARE_SKIP_TEST) > break; > @@ -765,6 +774,8 @@ spi_dv_device_internal(struct scsi_reque > /* first set us up for narrow async */ > DV_SET(offset, 0); > DV_SET(width, 0); > + > + printk("BEGINNING ASYNC, inq len = %d\n", sdev->inquiry_len); > > if (spi_dv_device_compare_inquiry(sreq, buffer, buffer, DV_LOOPS) > != SPI_COMPARE_SUCCESS) { > @@ -773,11 +784,13 @@ spi_dv_device_internal(struct scsi_reque > return; > } > > + printk("ASYNC INQUIRY SUCCEEDED\n"); > + > /* test width */ > if (i->f->set_width && spi_max_width(starget) && sdev->wdtr) { > i->f->set_width(sdev->sdev_target, 1); > > - printk("WIDTH IS %d\n", spi_max_width(starget)); > + printk("TRYING WIDE ASYNC INQUIRY\n"); > > if (spi_dv_device_compare_inquiry(sreq, buffer, > buffer + len, > @@ -802,12 +815,17 @@ spi_dv_device_internal(struct scsi_reque > if (sdev->ppr) > len = spi_dv_device_get_echo_buffer(sreq, buffer); > > + printk("ECHO BUFFER HAS LEN %d\n", len); > + > retry: > > /* now set up to the maximum */ > DV_SET(offset, spi_max_offset(starget)); > DV_SET(period, spi_min_period(starget)); > > + printk("DV SETTING TO period %d, offset %d\n", spi_min_period(starget), > + spi_max_offset(starget)); > + > if (len == 0) { > SPI_PRINTK(sdev->sdev_target, KERN_INFO, "Domain Validation skipping write tests\n"); > spi_dv_retrain(sreq, buffer, buffer + len, > -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-21 23:22 ` Grégoire Favre @ 2005-05-22 13:54 ` James Bottomley 2005-05-24 15:39 ` Grégoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-22 13:54 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Sun, 2005-05-22 at 01:22 +0200, Grégoire Favre wrote: > I have found a way to fetch the console :-) > > Against which kernel revision is your patch made for ? It should work against any recent kernel with the scsi patches. James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-22 13:54 ` James Bottomley @ 2005-05-24 15:39 ` Grégoire Favre 2005-05-26 13:19 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-24 15:39 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Sun, May 22, 2005 at 08:54:00AM -0500, James Bottomley wrote: > It should work against any recent kernel with the scsi patches. :-) I was wrong with which patch should be applied before this one... Here's the output : Bootdata ok (command line is root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0) Linux version 2.6.12-rc4 (root@gregoire) (gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #6 Sun May 22 16:05:45 CEST 2005 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff8000 (ACPI data) BIOS-e820: 000000003fff8000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:12 APIC version 16 ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) Setting APIC routing to flat Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 40000000 (gap: 40000000:bec00000) Built 1 zonelists Kernel command line: root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 131072 bytes) time.c: Using 1.193182 MHz PIT timer. time.c: Detected 2000.088 MHz processor. time.c: Using PIT/TSC based timekeeping. Console: colour VGA+ 80x60 Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) Memory: 1025304k/1048512k available (3144k kernel code, 22512k reserved, 1305k data, 160k init) Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU: AMD Athlon(tm) 64 Processor 3000+ stepping 00 Using local APIC NMI watchdog using perfctr0 Using local APIC timer interrupts. Detected 12.500 MHz APIC timer. NET: Registered protocol family 16 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20050309 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI: Via IRQ fixup ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $ NTFS driver 2.1.22 [Flags: R/O]. EFS: 1.0a - http://aeschi.ch.eu.org/efs/ SGI XFS with large block/inode numbers, no debug enabled Initializing Cryptographic API ACPI: Power Button (FF) [PWRF] ACPI: Sleep Button (CM) [SLPB] Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 [PCSPP(,...)] io scheduler noop registered io scheduleHCNT = 0x60 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0xa0] DFCNTRL[0x38] DFSTATUS[0x40] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x2] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 2 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi1:0:1:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x0 0x0 0x0 0x0 0x0 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7b Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 HCNT = 0x20 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0x80] DFCNTRL[0x38] DFSTATUS[0x20] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x8] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x8] SCB_SCSIID[0r anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 r8169 Gigabit Ethernet driver 2.2LK loaded ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16 r8169: NAPI enabled eth0: RTL8169 at 0xffffc20000002b00, 00:0c:76:bd:22:23, IRQ 16 Linux video capture interface: v1.00 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 16X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 scsi0:A:0:0: Tagged Queuing enabled. Depth 253 target0:0:0: Beginning Domain Validation BEGINNING ASYNC, inq len = 164 ASYNC INQUIRY SUCCEEDED TRYING WIDE ASYNC INQUIRY (scsi0:A:0): 6.600MB/s transfers (16bit) ECHO BUFFER HAS LEN 0 DV SETTING TO period 10, offset 255 target0:0:0: Domain Validation skipping write tests (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:0: FAST-40 SCSI 40.0 MB/s ST (25 ns, offset 15) target0:0:0: Ending Domain Validation Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation BEGINNING ASYNC, inq len = 144 ASYNC INQUIRY SUCCEEDED TRYING WIDE ASYNC INQUIRY (scsi0:A:15): 6.600MB/s transfers (16bit) ECHO BUFFER HAS LEN 252 DV SETTING TO period 10, offset 255 (scsi0:A:15): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) target0:0:15: FAST-40 SCSI 40.0 MB/s ST (25 ns, offset 63) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation BEGINNING ASYNC, inq len = 96 ASYNC INQUIRY SUCCEEDED ECHO BUFFER HAS LEN 0 DV SETTING TO period 9, offset 255 target1:0:1: Domain Validation skipping write tests (scsi1:A:1): 20.000MB/s transfers (20.000MHz, offset 15) scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7c Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 3 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi: Device offlined - not ready after error recovery: host 1 channel 0 id 1 lun 0 target1:0:1: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 15) target1:0:1: Domain Validation detected failure, dropping back I hope it could be useful, now that my "toolchain" to fetch log is on, don't hesitate to ask me to try things... Thank you and have a great week, -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-24 15:39 ` Grégoire Favre @ 2005-05-26 13:19 ` James Bottomley 2005-05-26 14:35 ` Grégoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-26 13:19 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Tue, 2005-05-24 at 17:39 +0200, Grégoire Favre wrote: > target1:0:1: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 15) > > target1:0:1: Domain Validation detected failure, dropping back > > I hope it could be useful, now that my "toolchain" to fetch log is on, > don't hesitate to ask me to try things... Actually, did you capture anything more after this? There's an indication from a previous file you sent: Target 1 Negotiation Settings User: 10.000MB/s transfers (10.000MHz, offset 127) Goal: 10.000MB/s transfers (10.000MHz, offset 15) Curr: 10.000MB/s transfers (10.000MHz, offset 15) That for some reason the bus is tied to 10MHz (i.e. fast but not ultra). The DV began at Ultra, but it should next drop down to FAST. Also, when it finally boots up what does /sys/class/spi_transport/target1:0:1/min_period contain? Thanks, James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-26 13:19 ` James Bottomley @ 2005-05-26 14:35 ` Grégoire Favre 2005-05-26 14:46 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-26 14:35 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Thu, May 26, 2005 at 09:19:23AM -0400, James Bottomley wrote: > Actually, did you capture anything more after this? No, I have waited some times, and has nothing more were written to my palm console, I just thought it wouldn't boot further... > There's an indication from a previous file you sent: > > Target 1 Negotiation Settings > User: 10.000MB/s transfers (10.000MHz, offset 127) > Goal: 10.000MB/s transfers (10.000MHz, offset 15) > Curr: 10.000MB/s transfers (10.000MHz, offset 15) > > That for some reason the bus is tied to 10MHz (i.e. fast but not ultra). > The DV began at Ultra, but it should next drop down to FAST. > > Also, when it finally boots up what does > > /sys/class/spi_transport/target1:0:1/min_period > > contain? Under 2.6.12-rc2 I haven't this file, what the equivalent ? Thank you very much for taking care of my problem :-) -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-26 14:35 ` Grégoire Favre @ 2005-05-26 14:46 ` James Bottomley 2005-05-26 17:35 ` Grégoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-26 14:46 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Thu, 2005-05-26 at 16:35 +0200, Grégoire Favre wrote: > Under 2.6.12-rc2 I haven't this file, what the equivalent ? It should be there under 2.6.12-rc5 James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-26 14:46 ` James Bottomley @ 2005-05-26 17:35 ` Grégoire Favre 2005-05-30 14:38 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-26 17:35 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Thu, May 26, 2005 at 10:46:06AM -0400, James Bottomley wrote: > On Thu, 2005-05-26 at 16:35 +0200, Grégoire Favre wrote: > > Under 2.6.12-rc2 I haven't this file, what the equivalent ? > > It should be there under 2.6.12-rc5 :-) Well, fine, but I can't boot post 2.6.12-rc2 kernels... Just tried 2.6.12-rc5 and it ends here : Bootdata ok (command line is root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0) Linux version 2.6.12-rc5 (root@gregoire) (gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #1 Thu May 26 16:53:13 CEST 2005 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff8000 (ACPI data) BIOS-e820: 000000003fff8000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) ACPI: PM-Timer IO Port: 0x808 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:12 APIC version 16 ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) Setting APIC routing to flat Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 40000000 (gap: 40000000:bec00000) Built 1 zonelists Kernel command line: root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 131072 bytes) time.c: Using 3.579545 MHz PM timer. time.c: Detected 2000.148 MHz processor. time.c: Using PIT/TSC based timekeeping. Console: colour VGA+ 80x60 Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) Memory: 1025304k/1048512k available (3138k kernel code, 22512k reserved, 1306k data, 160k init) Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU: AMD Athlon(tm) 64 Processor 3000+ stepping 00 Using local APIC timer interrupts. Detected 12.500 MHz APIC timer. testing NMI watchdog ... OK. NET: Registered protocol family 16 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20050309 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI: Via IRQ fixup ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $ NTFS driver 2.1.22 [Flags: R/O]. EFS: 1.0a - http://aeschi.ch.eu.org/efs/ SGI XFS with large block/inode numbers, no debug enabled Initializing Cryptographic API ACPI: Power Button (FF) [PWRF] ACPI: Sleep Button (CM) [SLPB] Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 [PCSPP(,...)] io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 r8169 Gigabit Ethernet driver 2.2LK loaded ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16 r8169: NAPI enabled eth0: RTL8169 at 0xffffc20000002b00, 00:0c:76:bd:22:23, IRQ 16 Linux video capture interface: v1.00 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 31X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 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) target0:0:0: Domain Validation skipping write tests (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:0: Ending Domain Validation Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation WIDTH IS 1 (scsi0:A:15): 6.600MB/s transfers (16bit) (scsi0:A:15): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests (scsi1:A:1): 20.000MB/s transfers (20.000MHz, offset 15) scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7c Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 HCNT = 0x60 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0xa0] DFCNTRL[0x38] DFSTATUS[0x40] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 HCNT = 0x60 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0xa0] DFCNTRL[0x38] DFSTATUS[0x40] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x2] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 2 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi1:0:1:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x0 0x0 0x0 0x0 0x0 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7b Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 HCNT = 0x20 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0x80] DFCNTRL[0x38] DFSTATUS[0x20] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x8] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x8] SCB_SCSIID[0ff] SCB_SCSIIDr anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 r8169 Gigabit Ethernet driver 2.2LK loaded ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16 r8169: NAPI enabled eth0: RTL8169 at 0xffffc20000002b00, 00:0c:76:bd:22:23, IRQ 16 Linux video capture interface: v1.00 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 16X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 scsi0:A:0:0: Tagged Queuing enabled. Depth 253 target0:0:0: Beginning Domain Validation BEGINNING ASYNC, inq len = 164 ASYNC INQUIRY SUCCEEDED TRYING WIDE ASYNC INQUIRY (scsi0:A:0): 6.600MB/s transfers (16bit) ECHO BUFFER HAS LEN 0 DV SETTING TO period 10, offset 255 target0:0:0: Domain Validation skipping write tests (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:0: FAST-40 SCSI 40.0 MB/s ST (25 ns, offset 15) target0:0:0: Ending Domain Validation Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation BEGINNING ASYNC, inq len = 144 ASYNC INQUIRY SUCCEEDED TRYING WIDE ASYNC INQUIRY (scsi0:A:15): 6.600MB/s transfers (16bit) ECHO BUFFER HAS LEN 252 DV SETTING TO period 10, offset 255 (scsi0:A:15): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) target0:0:15: FAST-40 SCSI 40.0 MB/s ST (25 ns, offset 63) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation BEGINNING ASYNC, inq len = 96 ASYNC INQUIRY SUCCEEDED ECHO BUFFER HAS LEN 0 DV SETTING TO period 9, offset 255 target1:0:1: Domain Validation skipping write tests (scsi1:A:1): 20.000MB/s transfers (20.000MHz, offset 15) scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7c Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 3 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi: Device offlined - not ready after error recovery: host 1 channel 0 id 1 lun 0 target1:0:1: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 15) target1:0:1: Domain Validation detected failure, dropping back That's with vanilla 2.6.12-rc5 if I have to patch, just tell me :-) Have a great day, -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-26 17:35 ` Grégoire Favre @ 2005-05-30 14:38 ` James Bottomley 2005-05-30 14:51 ` Michael Tokarev 2005-05-30 15:09 ` Grégoire Favre 0 siblings, 2 replies; 77+ messages in thread From: James Bottomley @ 2005-05-30 14:38 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Thu, 2005-05-26 at 19:35 +0200, Grégoire Favre wrote: > That's with vanilla 2.6.12-rc5 if I have to patch, just tell me :-) OK, I have two things for you to try. The first is the attached, which, I think, enforces the limits this device is expecting. It's really just a sanity check to see if the problem is what I think it is (device negotiates a transfer setting it can't actually support). 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 @@ -735,6 +735,7 @@ ahc_linux_slave_configure(struct scsi_de /* Initial Domain Validation */ if (!spi_initial_dv(device->sdev_target)) + spi_min_period(device->sdev_target) = 100; spi_dv_device(device); return 0; ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-30 14:38 ` James Bottomley @ 2005-05-30 14:51 ` Michael Tokarev 2005-05-30 14:59 ` James Bottomley 2005-05-30 15:09 ` Grégoire Favre 1 sibling, 1 reply; 77+ messages in thread From: Michael Tokarev @ 2005-05-30 14:51 UTC (permalink / raw) To: James Bottomley Cc: Grégoire Favre, dino, Andrew Morton, Linux Kernel, SCSI Mailing List James Bottomley wrote: [] > 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 > @@ -735,6 +735,7 @@ ahc_linux_slave_configure(struct scsi_de > > /* Initial Domain Validation */ > if (!spi_initial_dv(device->sdev_target)) > + spi_min_period(device->sdev_target) = 100; > spi_dv_device(device); Hmm.. Should there be a pair of {}'s somewhere? /mjt ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-30 14:51 ` Michael Tokarev @ 2005-05-30 14:59 ` James Bottomley 0 siblings, 0 replies; 77+ messages in thread From: James Bottomley @ 2005-05-30 14:59 UTC (permalink / raw) To: Michael Tokarev Cc: Grégoire Favre, dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Mon, 2005-05-30 at 18:51 +0400, Michael Tokarev wrote: > Hmm.. Should there be a pair of {}'s somewhere? Only if it were actual code for the tree, rather than a throw away test ... it's a single lun target, so the condition is always true. James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-30 14:38 ` James Bottomley 2005-05-30 14:51 ` Michael Tokarev @ 2005-05-30 15:09 ` Grégoire Favre 2005-05-30 15:34 ` James Bottomley 1 sibling, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-30 15:09 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Mon, May 30, 2005 at 09:38:58AM -0500, James Bottomley wrote: > OK, I have two things for you to try. > > The first is the attached, which, I think, enforces the limits this > device is expecting. It's really just a sanity check to see if the > problem is what I think it is (device negotiates a transfer setting it > can't actually support). uname -r gives me : 2.6.12-rc5 which mean it's a working fix for me !!! Note that on the other controller the speed are quiete low ? Do you think it's more or less safe to use this kernel so ? Thank you very much !!! Here's dmesg : n information Allocating PCI resources starting at 40000000 (gap: 40000000:bec00000) Built 1 zonelists Kernel command line: root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 131072 bytes) time.c: Using 3.579545 MHz PM timer. time.c: Detected 2000.148 MHz processor. time.c: Using PIT/TSC based timekeeping. Console: colour VGA+ 80x60 Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) Memory: 1025304k/1048512k available (3138k kernel code, 22512k reserved, 1306k data, 160k init) Calibrating delay loop... 3940.35 BogoMIPS (lpj=1970176) Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU: AMD Athlon(tm) 64 Processor 3000+ stepping 00 Using local APIC timer interrupts. Detected 12.500 MHz APIC timer. testing NMI watchdog ... OK. NET: Registered protocol family 16 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20050309 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI: Via IRQ fixup Boot video device is 0000:01:00.0 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $ NTFS driver 2.1.22 [Flags: R/O]. EFS: 1.0a - http://aeschi.ch.eu.org/efs/ SGI XFS with large block/inode numbers, no debug enabled Initializing Cryptographic API ACPI: Power Button (FF) [PWRF] ACPI: Sleep Button (CM) [SLPB] Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 [PCSPP(,...)] io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 r8169 Gigabit Ethernet driver 2.2LK loaded ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16 r8169: NAPI enabled eth0: Identified chip type is 'RTL8169s/8110s'. eth0: RTL8169 at 0xffffc20000002b00, 00:0c:76:bd:22:23, IRQ 16 Linux video capture interface: v1.00 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio Probing IDE interface ide0... hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 Probing IDE interface ide2... Probing IDE interface ide3... Probing IDE interface ide4... Probing IDE interface ide5... hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 16X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 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) target0:0:0: Domain Validation skipping write tests target0:0:0: Ending Domain Validation Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation WIDTH IS 1 (scsi0:A:15): 6.600MB/s transfers (16bit) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests target1:0:1: Ending Domain Validation Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:2: Beginning Domain Validation target1:0:2: Domain Validation skipping write tests target1:0:2: Ending Domain Validation Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:3: Beginning Domain Validation target1:0:3: Domain Validation skipping write tests target1:0:3: Ending Domain Validation libata version 1.10 loaded. sata_via version 1.1 ACPI: PCI Interrupt 0000:00:0f.0[B] -> GSI 20 (level, low) -> IRQ 20 sata_via(0000:00:0f.0): routed to hard irq line 4 ata1: SATA max UDMA/133 cmd 0xE000 ctl 0xDC02 bmdma 0xD000 irq 20 ata2: SATA max UDMA/133 cmd 0xD800 ctl 0xD402 bmdma 0xD008 irq 20 ata1: no device found (phy stat 00000000) scsi2 : sata_via ata2: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4043 85:7c69 86:3e01 87:4043 88:407f ata2: dev 0 ATA, max UDMA/133, 398297088 sectors: lba48 ata2: dev 0 configured for UDMA/133 scsi3 : sata_via Vendor: ATA Model: Maxtor 6B200M0 Rev: BANC Type: Direct-Access ANSI SCSI revision: 05 SCSI device sda: 17850000 512-byte hdwr sectors (9139 MB) SCSI device sda: drive cache: write back SCSI device sda: 17850000 512-byte hdwr sectors (9139 MB) SCSI device sda: drive cache: write back sda: sda1 sda2 Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sdb: 71687370 512-byte hdwr sectors (36704 MB) SCSI device sdb: drive cache: write back SCSI device sdb: 71687370 512-byte hdwr sectors (36704 MB) SCSI device sdb: drive cache: write back sdb: sdb1 sdb2 Attached scsi disk sdb at scsi0, channel 0, id 15, lun 0 SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB) SCSI device sdc: drive cache: write back SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB) SCSI device sdc: drive cache: write back sdc: sdc1 sdc2 Attached scsi disk sdc at scsi3, channel 0, id 0, lun 0 sr0: scsi3-mmc drive: 32x/32x cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr0 at scsi1, channel 0, id 1, lun 0 sr1: scsi3-mmc drive: 20x/20x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr1 at scsi1, channel 0, id 2, lun 0 sr2: scsi3-mmc drive: 20x/20x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr2 at scsi1, 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 15, lun 0, type 0 Attached scsi generic sg2 at scsi1, channel 0, id 1, lun 0, type 5 Attached scsi generic sg3 at scsi1, channel 0, id 2, lun 0, type 5 Attached scsi generic sg4 at scsi1, channel 0, id 3, lun 0, type 5 Attached scsi generic sg5 at scsi3, channel 0, id 0, lun 0, type 0 usbmon: debugs is not available ACPI: PCI Interrupt 0000:00:10.4[C] -> GSI 21 (level, low) -> IRQ 21 ehci_hcd 0000:00:10.4: VIA Technologies, Inc. USB 2.0 ehci_hcd 0000:00:10.4: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:10.4: irq 21, io mem 0xcfffe900 ehci_hcd 0000:00:10.4: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004 hub 1-0:1.0: USB hub found hub 1-0:1.0: 8 ports detected USB Universal Host Controller Interface driver v2.2 ACPI: PCI Interrupt 0000:00:10.0[A] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.0: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller ehci_hcd 0000:00:10.4: port 8 reset error -110 hub 1-0:1.0: hub_port_status failed (err = -32) uhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2 uhci_hcd 0000:00:10.0: irq 21, io base 0x0000bc00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected ehci_hcd 0000:00:10.4: port 8 reset error -110 hub 1-0:1.0: hub_port_status failed (err = -32) ACPI: PCI Interrupt 0000:00:10.1[A] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.1: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#2) usb 1-8: new high speed USB device using ehci_hcd and address 2 uhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 3 uhci_hcd 0000:00:10.1: irq 21, io base 0x0000c000 hub 3-0:1.0: USB hub found hub 3-0:1.0: 2 ports detected ehci_hcd 0000:00:10.4: port 8 reset error -110 hub 1-0:1.0: hub_port_status failed (err = -32) ACPI: PCI Interrupt 0000:00:10.2[B] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.2: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#3) hub 1-8:1.0: USB hub found hub 1-8:1.0: 2 ports detected uhci_hcd 0000:00:10.2: new USB bus registered, assigned bus number 4 uhci_hcd 0000:00:10.2: irq 21, io base 0x0000c400 hub 4-0:1.0: USB hub found hub 4-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.3[B] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.3: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#4) uhci_hcd 0000:00:10.3: new USB bus registered, assigned bus number 5 uhci_hcd 0000:00:10.3: irq 21, io base 0x0000c800 hub 5-0:1.0: USB hub found hub 5-0:1.0: 2 ports detected Initializing USB Mass Storage driver... usbcore: registered new driver usb-storage USB Mass Storage support registered. mice: PS/2 mouse device common for all mice input: PC Speaker Advanced Linux Sound Architecture Driver Version 1.0.9rc2 (Thu Mar 24 10:33:39 2005 UTC). via82xx: Assuming DXS channels with 48k fixed sample rate. Please try dxs_support=1 or dxs_support=4 option and report if it works on your machine. ACPI: PCI Interrupt 0000:00:11.5[C] -> GSI 22 (level, low) -> IRQ 22 PCI: Setting latency timer of device 0000:00:11.5 to 64 input: AT Translated Set 2 keyboard on isa0060/serio0 usb 1-8.1: new high speed USB device using ehci_hcd and address 3 hub 1-8.1:1.0: USB hub found hub 1-8.1:1.0: 4 ports detected logips2pp: Detected unknown logitech mouse model 99 input: ImExPS/2 Logitech Explorer Mouse on isa0060/serio1 ALSA device list: #0: VIA 8237 with ALC655 at 0xb800, irq 22 NET: Registered protocol family 2 IP: routing cache hash table of 8192 buckets, 64Kbytes TCP established hash table entries: 262144 (order: 9, 2097152 bytes) TCP bind hash table entries: 65536 (order: 7, 524288 bytes) TCP: Hash tables configured (established 262144 bind 65536) ip_tables: (C) 2000-2002 Netfilter core team usb 1-8.2: new high speed USB device using ehci_hcd and address 4 arp_tables: (C) 2002 David S. Miller Initializing IPsec netlink socket NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 15 ACPI wakeup devices: PCI0 UAR1 USB1 USB2 USB3 USB4 EHCI USBD AC9 MC9 ILAN SLPB ACPI: (supports S0 S1 S3 S4 S5) ReiserFS: sdc2: found reiserfs format "3.6" with standard journal scsi4 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 4 usb-storage: waiting for device to settle before scanning Vendor: SMSC Model: 223 U HS-CF Rev: 3.60 Type: Direct-Access ANSI SCSI revision: 00 Attached scsi removable disk sdd at scsi4, channel 0, id 0, lun 0 Attached scsi generic sg6 at scsi4, channel 0, id 0, lun 0, type 0 usb-storage: device scan complete ReiserFS: sdc2: using ordered data mode ReiserFS: sdc2: journal params: device sdc2, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sdc2: checking transaction log (sdc2) ReiserFS: sdc2: Using r5 hash to sort names VFS: Mounted root (reiserfs filesystem) readonly. Freeing unused kernel memory: 160k freed Adding 506036k swap on /dev/hda2. Priority:2 extents:1 Adding 530136k swap on /dev/sda2. Priority:2 extents:1 Adding 530104k swap on /dev/sdb1. Priority:1 extents:1 Adding 1004020k swap on /dev/sdc1. Priority:3 extents:1 XFS mounting filesystem sdb2 Ending clean XFS mount for filesystem: sdb2 XFS mounting filesystem hda4 Ending clean XFS mount for filesystem: hda4 ReiserFS: sda1: found reiserfs format "3.6" with standard journal ReiserFS: sda1: using ordered data mode ReiserFS: sda1: journal params: device sda1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sda1: checking transaction log (sda1) ReiserFS: sda1: Using r5 hash to sort names saa7146: register extension 'dvb'. ACPI: PCI Interrupt 0000:00:06.0[A] -> GSI 17 (level, low) -> IRQ 17 saa7146: found saa7146 @ mem ffffc200004c4e00 (revision 1, irq 17) (0x13c2,0x0000). DVB: registering new adapter (Technotrend/Hauppauge WinTV DVB-S rev1.X). adapter has MAC addr = 00:d0:5c:00:41:90 dvb-ttpci: gpioirq unknown type=0 len=0 dvb-ttpci: info @ card 0: firm f0240009, rtsl b0250018, vid 71010068, app 8000261d dvb-ttpci: firmware @ card 0 supports CI link layer interface dvb-ttpci: adac type set to 0 @ card 0 saa7146_vv: saa7146 (0): registered device video0 [v4l2] ves1x93: Detected ves1893a rev2 DVB: registering frontend 0 (VLSI VES1x93 DVB-S)... dvb-ttpci: found av7110-0. saa7146: register extension 'budget dvb'. saa7146: register extension 'budget_ci dvb'. ACPI: PCI Interrupt 0000:00:07.0[A] -> GSI 18 (level, low) -> IRQ 18 saa7146: found saa7146 @ mem ffffc200005aac00 (revision 1, irq 18) (0x13c2,0x100f). DVB: registering new adapter (TT-Budget/WinTV-NOVA-CI PCI). adapter has MAC addr = 00:d0:5c:23:a3:9b DVB: registering frontend 1 (ST STV0299 DVB-S)... r8169: eth0: link up -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-30 15:09 ` Grégoire Favre @ 2005-05-30 15:34 ` James Bottomley 2005-05-30 16:01 ` Grégoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-30 15:34 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Mon, 2005-05-30 at 17:09 +0200, Grégoire Favre wrote: > uname -r gives me : 2.6.12-rc5 which mean it's a working fix for me !!! > > Note that on the other controller the speed are quiete low ? > Do you think it's more or less safe to use this kernel so ? Yes, that was just a global change to get the thing to boot. Now try this: echo 100 > /sys/class/spi_transport/target1:0:1/min_period echo 1 > /sys/class/spi_transport/target1:0:1/revalidate and look at dmesg to see if it brought the speed up (save your files first, this may hang the box). James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-30 15:34 ` James Bottomley @ 2005-05-30 16:01 ` Grégoire Favre 2005-05-30 18:17 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-30 16:01 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Mon, May 30, 2005 at 10:34:08AM -0500, James Bottomley wrote: > Yes, that was just a global change to get the thing to boot. And it works :-) > Now try this: > > echo 100 > /sys/class/spi_transport/target1:0:1/min_period > echo 1 > /sys/class/spi_transport/target1:0:1/revalidate > > and look at dmesg to see if it brought the speed up (save your files > first, this may hang the box). It don't hang my box... and I got this : target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests (scsi1:A:1): 10.000MB/s transfers (10.000MHz, offset 15) target1:0:1: Ending Domain Validation Thank, -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-30 16:01 ` Grégoire Favre @ 2005-05-30 18:17 ` James Bottomley 2005-05-30 19:07 ` Grégoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-30 18:17 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Mon, 2005-05-30 at 18:01 +0200, Grégoire Favre wrote: > target1:0:1: Beginning Domain Validation > target1:0:1: Domain Validation skipping write tests > (scsi1:A:1): 10.000MB/s transfers (10.000MHz, offset 15) > target1:0:1: Ending Domain Validation Well that's good ... it proves the theory that if the DV were correctly limited initially, everything would work. However ... lets see if we can get it to work properly even with the initial mismatch. Reverse the previous patch, apply this one and try rebooting ... Thanks, James --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c @@ -1230,6 +1230,9 @@ static void scsi_eh_offline_sdevs(struct scmd->device->channel, scmd->device->id, scmd->device->lun); + /* try to reset the bus and the card to a sane state */ + scsi_try_bus_reset(scmd); + scsi_try_host_reset(scmd); scsi_device_set_state(scmd->device, SDEV_OFFLINE); if (scsi_eh_eflags_chk(scmd, SCSI_EH_CANCEL_CMD)) { /* ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-30 18:17 ` James Bottomley @ 2005-05-30 19:07 ` Grégoire Favre 2005-06-06 18:17 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-05-30 19:07 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Mon, May 30, 2005 at 01:17:20PM -0500, James Bottomley wrote: > Well that's good ... it proves the theory that if the DV were correctly > limited initially, everything would work. OK :-) > However ... lets see if we can get it to work properly even with the > initial mismatch. Reverse the previous patch, apply this one and try > rebooting ... Unfortunately it don't work : Bootdata ok (command line is root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0) Linux version 2.6.12-rc5 (root@gregoire) (gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #3 Mon May 30 20:38:57 CEST 2005 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff8000 (ACPI data) BIOS-e820: 000000003fff8000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) ACPI: PM-Timer IO Port: 0x808 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:12 APIC version 16 ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) Setting APIC routing to flat Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 40000000 (gap: 40000000:bec00000) Built 1 zonelists Kernel command line: root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 131072 bytes) time.c: Using 3.579545 MHz PM timer. time.c: Detected 2000.148 MHz processor. time.c: Using PIT/TSC based timekeeping. Console: colour VGA+ 80x60 Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) Memory: 1025304k/1048512k available (3138k kernel code, 22512k reserved, 1306k data, 160k init) Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU: AMD Athlon(tm) 64 Processor 3000+ stepping 00 Using local APIC timer interrupts. Detected 12.500 MHz APIC timer. testing NMI watchdog ... OK. NET: Registered protocol family 16 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20050309 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI: Via IRQ fixup ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $ NTFS driver 2.1.22 [Flags: R/O]. EFS: 1.0a - http://aeschi.ch.eu.org/efs/ SGI XFS with large block/inode numbers, no debug enabled Initializing Cryptographic API ACPI: Power Button (FF) [PWRF] ACPI: Sleep Button (CM) [SLPB] Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 [PCSPP(,...)] io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 r8169 Gigabit Ethernet driver 2.2LK loaded ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16 r8169: NAPI enabled eth0: RTL8169 at 0xffffc20000002b00, 00:0c:76:bd:22:23, IRQ 16 Linux video capture interface: v1.00 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 16X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 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) target0:0:0: Domain Validation skipping write tests (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:0: Ending Domain Validation Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation WIDTH IS 1 (scsi0:A:15): 6.600MB/s transfers (16bit) (scsi0:A:15): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs scsi1:0:0:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State while idle, at SEQADDR 0x18 Card was paused ACCUM = 0x3, SINDEX = 0x20, DINDEX = 0xc0, ARG_2 = 0x0 HCNT = 0x0 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x1] SCSISEQ[0x1a] SBLKCTL[0x0] SCSIRATE[0x0] SEQCTL[0x10] SEQ_FLAGS[0xc0] SSTAT0[0x5] SSTAT1[0x0] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xa4] SXFRCTL0[0x80] DFCNTRL[0x4] DFSTATUS[0x6d] STACK: 0x0 0x0 0x192 0x17 SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: 0:3 Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x50] SCB_SCSIID[0x7] SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x50] SCB_SCSIID[0x7] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(0): 3 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:0:0: Cmd aborted from QINFIFO aic7xxx_abort returns 0x2002 scsi1:0:0:0: Attempting to queue an ABORT message CDB: 0x0 0x0 0x0 0x0 0x0 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State while idle, at SEQADDR 0x18 Card was paused ACCUM = 0x3, SINDEX = 0x20, DINDEX = 0xc0, ARG_2 = 0x0 HCNT = 0x0 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x1] SCSISEQ[0x1a] SBLKCTL[0x0] SCSIRATE[0x0] SEQCTL[0x10] SEQ_FLAGS[0xc0] SSTAT0[0x5] SSTAT1[0x0] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xa4] SXFRCTL0[0x80] DFCNTRL[0x4] DFSTATUS[0x6d] STACK: 0x0 0x0 0x192 0x17 SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 2 QINFIFO entries: 2 Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x0] SCB_SCSIID[0x7] SCB_LUN[0x0] SCB_TAG[0xff] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x50] SCB_SCSIID[0x7] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(0): 2 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:0:0: Cmd aborted from QINFIFO aic7xxx_abort returns 0x2002 scsi1:0:0:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 scsi1:0:0:0: Command not found aic7xxx_dev_reset returns 0x2002 scsi1:0:0:0: Attempting to queue an ABORT message CDB: 0x0 0x0 0x0 0x0 0x0 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State while idle, at SEQADDR 0x18 Card was paused ACCUM = 0x3, SINDEX = 0x20, DINDEX = 0xc0, ARG_2 = 0x0 HCNT = 0x0 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x1] SCSISEQ[0x1a] SBLKCTL[0x0] SCSIRATE[0x0] SEQCTL[0x10] SEQ_FLAGS[0xc0] SSTAT0[0x5] SSTAT1[0x0] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xa4] SXFRCTL0[0x80] DFCNTRL[0x4] DFSTATUS[0x6d] STACK: 0x0 0x0 0x192 0x17 SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 3 QINFIFO entries: 3 Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x0] SCB_SCSIID[0x7] SCB_LUN[0x0] SCB_TAG[0xff] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x50] SCB_SCSIID[0x7] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(0): 3 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:0:0: Cmd aborted from QINFIFO aic7xxx_abort returns 0x2002 scsi: Device offlined - not ready after error recovery: host 1 channel 0 id 0 lun 0 Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests (scsi1:A:1): 20.000MB/s transfers (20.000MHz, offset 15) scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7b Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 HCNT = 0x60 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0xa0] DFCNTRL[0x38] DFSTATUS[0x40] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 3 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN R... Thank, -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-30 19:07 ` Grégoire Favre @ 2005-06-06 18:17 ` James Bottomley 2005-06-07 8:57 ` Grégoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-06-06 18:17 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, Linux Kernel, SCSI Mailing List On Mon, 2005-05-30 at 21:07 +0200, Grégoire Favre wrote: > Unfortunately it don't work : Well, OK, three things spring to mind. 1. Try the attached patch, just in case it's a perpetual timer reset issue. 2. You should be able to boot if you set the device speed to 10MHz in the adaptec bios (since we should read the bios values for setting the speed) 3. when the hang occurs, can you get an alt-sysrq-p to show the current process on CPU? Thanks, James --- a/drivers/scsi/aic7xxx/aic7xxx_osm.h +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.h @@ -277,7 +277,9 @@ ahc_timer_reset(ahc_timer_t *timer, int static __inline void ahc_scb_timer_reset(struct scb *scb, u_int usec) { +#if 0 mod_timer(&scb->io_ctx->eh_timeout, jiffies + (usec * HZ)/1000000); +#endif } /***************************** SMP support ************************************/ ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-06 18:17 ` James Bottomley @ 2005-06-07 8:57 ` Grégoire Favre 2005-06-12 15:38 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-06-07 8:57 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, SCSI Mailing List, linux-kernel On Mon, Jun 06, 2005 at 01:17:36PM -0500, James Bottomley wrote: > Well, OK, three things spring to mind. Thank for those three ideas :) > 1. Try the attached patch, just in case it's a perpetual timer reset > issue. I put the log of the boot : not a success. I hope the previous repport were right : ptelnet on my palm seems to put the log in a strange order... > 2. You should be able to boot if you set the device speed to 10MHz in > the adaptec bios (since we should read the bios values for setting the > speed) I have set all device to 10 Mhz (for that controller) in the BIOS, but I still can't boot. > 3. when the hang occurs, can you get an alt-sysrq-p to show the current > process on CPU? MagicSysRq don't seems to work at this stage. --- Bootdata ok (command line is root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0) Linux version 2.6.12-rc5 (root@gregoire) (gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #4 Mon Jun 6 20:29:04 CEST 2005 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff8000 (ACPI data) BIOS-e820: 000000003fff8000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) ACPI: PM-Timer IO Port: 0x808 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:12 APIC version 16 ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) Setting APIC routing to flat Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 40000000 (gap: 40000000:bec00000) Built 1 zonelists Kernel command line: root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 131072 bytes) time.c: Using 3.579545 MHz PM timer. time.c: Detected 2000.089 MHz processor. time.c: Using PIT/TSC based timekeeping. Console: colour VGA+ 80x60 Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) Memory: 1025304k/1048512k available (3138k kernel code, 22512k reserved, 1306k data, 160k init) Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU: AMD Athlon(tm) 64 Processor 3000+ stepping 00 Using local APIC timer interrupts. Detected 12.500 MHz APIC timer. testing NMI watchdog ... OK. NET: Registered protocol family 16 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20050309 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI: Via IRQ fixup ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $ NTFS driver 2.1.22 [Flags: R/O]. EFS: 1.0a - http://aeschi.ch.eu.org/efs/ SGI XFS with large block/inode numbers, no debug enabled Initializing Cryptographic API ACPI: Power Button (FF) [PWRF] ACPI: Sleep Button (CM) [SLPB] Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 [PCSPP(,...)] io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 r8169 Gigabit Ethernet driver 2.2LK loaded ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16 r8169: NAPI enabled eth0: RTL8169 at 0xffffc20000002b00, 00:0c:76:bd:22:23, IRQ 16 Linux video capture interface: v1.00 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 16X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 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) target0:0:0: Domain Validation skipping write tests (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:0: Ending Domain Validation Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation WIDTH IS 1 (scsi0:A:15): 6.600MB/s transfers (16bit) (scsi0:A:15): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs scsi1:0:0:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State while idle, at SEQADDR 0x18 Card was paused ACCUM = 0x3, SINDEX = 0x20, DINDEX = 0xc0, ARG_2 = 0x0 HCNT = 0x0 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x1] SCSISEQ[0x1a] SBLKCTL[0x0] SCSIRATE[0x0] SEQCTL[0x10] SEQ_FLAGS[0xc0] SSTAT0[0x5] SSTAT1[0x0] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xa4] SXFRCTL0[0x80] DFCNTRL[0x4] DFSTATUS[0x6d] STACK: 0x0 0x0 0x192 0x17 SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: 0:3 Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x50] SCB_SCSIID[0x7] SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x50] SCB_SCSIID[0x7] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(0): 3 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:0:0: Cmd aborted from QINFIFO aic7xxx_abort returns 0x2002 scsi1:0:0:0: Attempting to queue an ABORT message CDB: 0x0 0x0 0x0 0x0 0x0 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State while idle, at SEQADDR 0x18 Card was paused ACCUM = 0x3, SINDEX = 0x20, DINDEX = 0xc0, ARG_2 = 0x0 HCNT = 0x0 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x1] SCSISEQ[0x1a] SBLKCTL[0x0] SCSIRATE[0x0] SEQCTL[0x10] SEQ_FLAGS[0xc0] SSTAT0[0x5] SSTAT1[0x0] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xa4] SXFRCTL0[0x80] DFCNTRL[0x4] DFSTATUS[0x6d] STACK: 0x0 0x0 0x192 0x17 SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 2 QINFIFO entries: 2 Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x0] SCB_SCSIID[0x7] SCB_LUN[0x0] SCB_TAG[0xff] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x50] SCB_SCSIID[0x7] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(0): 2 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:0:0: Cmd aborted from QINFIFO aic7xxx_abort returns 0x2002 scsi1:0:0:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 scsi1:0:0:0: Command not found aic7xxx_dev_reset returns 0x2002 scsi1:0:0:0: Attempting to queue an ABORT message CDB: 0x0 0x0 0x0 0x0 0x0 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State while idle, at SEQADDR 0x18 Card was paused ACCUM = 0x3, SINDEX = 0x20, DINDEX = 0xc0, ARG_2 = 0x0 HCNT = 0x0 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x1] SCSISEQ[0x1a] SBLKCTL[0x0] SCSIRATE[0x0] SEQCTL[0x10] SEQ_FLAGS[0xc0] SSTAT0[0x5] SSTAT1[0x0] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xa4] SXFRCTL0[0x80] DFCNTRL[0x4] DFSTATUS[0x6d] STACK: 0x0 0x0 0x192 0x17 SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 3 QINFIFO entries: 3 Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x0] SCB_SCSIID[0x7] SCB_LUN[0x0] SCB_TAG[0xff] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x50] SCB_SCSIID[0x7] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(0): 3 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:0:0: Cmd aborted from QINFIFO aic7xxx_abort returns 0x2002 scsi: Device offlined - not ready after error recovery: host 1 channel 0 id 0 lun 0 Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests (scsi1:A:1): 20.000MB/s transfers (20.000MHz, offset 15) scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7b Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 HCNT = 0x60 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0xa0] DFCNTRL[0x38] DFSTATUS[0x40] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 3 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi1:0:1:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x0 0x0 0x0 0x0 0x0 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7b Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 HCNT = 0x20 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0x80] DFCNTRL[0x38] DFSTATUS[0x20] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x8] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x2] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x8] SCB_SCSIID[0x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 2 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi: Device offlined - not ready after error recovery: host 1 channel 0 id 1 lun 0 target1:0:1: Domain Validation detected failure, dropping back --- -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-07 8:57 ` Grégoire Favre @ 2005-06-12 15:38 ` James Bottomley 2005-06-13 14:50 ` Grégoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-06-12 15:38 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Tue, 2005-06-07 at 10:57 +0200, Grégoire Favre wrote: > I have set all device to 10 Mhz (for that controller) in the BIOS, but I > still can't boot. OK, let's see if I can find out why this particular controller isn't transferring the bios settings to the transport class max and min Try this patch and send me the output. Thanks, James --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -620,9 +620,11 @@ ahc_linux_target_alloc(struct scsi_targe *ahc_targp = starget; memset(targ, 0, sizeof(*targ)); + dev_printk(KERN_ERR, &starget->dev, "SC IS %p\n", sc); if (sc) { if ((ahc->features & AHC_ULTRA2) != 0) { scsirate = sc->device_flags[target_offset] & CFXFER; + dev_printk(KERN_ERR, &starget->dev, "ULTRA2\n"); } else { scsirate = (sc->device_flags[target_offset] & CFXFER) << 4; if (sc->device_flags[target_offset] & CFSYNCH) @@ -635,6 +637,12 @@ ahc_linux_target_alloc(struct scsi_targe spi_max_width(starget) = 0; spi_min_period(starget) = ahc_find_period(ahc, scsirate, AHC_SYNCRATE_DT); + dev_printk(KERN_ERR, &starget->dev, "scsirate IS 0x%x, min_period is %d\n", scsirate, spi_min_period(starget)); + if (spi_min_period(starget) == 0) + /* This means async, so set offset to zero */ + spi_max_offset(starget) = 0; + + tinfo = ahc_fetch_transinfo(ahc, channel, ahc->our_id, starget->id, &tstate); } ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-12 15:38 ` James Bottomley @ 2005-06-13 14:50 ` Grégoire Favre 2005-06-13 14:59 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Grégoire Favre @ 2005-06-13 14:50 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Sun, Jun 12, 2005 at 10:38:29AM -0500, James Bottomley wrote: Hello, I have applied your two patches against 2.6.12-rc6 (the http://parisc-linux.org/~jejb/scsi_diffs/scsi-misc-2.6.diff and the last one you sent per email) and I get this now : --- Bootdata ok (command line is root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0) Linux version 2.6.12-rc5 (root@gregoire) (gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #4 Mon Jun 6 20:29:04 CEST 2005 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff8000 (ACPI data) BIOS-e820: 000000003fff8000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) ACPI: PM-Timer IO Port: 0x808 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:12 APIC version 16 ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) Setting APIC routing to flat Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 40000000 (gap: 40000000:bec00000) Built 1 zonelists Kernel command line: root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 131072 bytes) time.c: Using 3.579545 MHz PM timer. time.c: Detected 2000.089 MHz processor. time.c: Using PIT/TSC based timekeeping. Console: colour VGA+ 80x60 Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) Memory: 1025304k/1048512k available (3138k kernel code, 22512k reserved, 1306k data, 160k init) Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU: AMD Athlon(tm) 64 Processor 3000+ stepping 00 Using local APIC timer interrupts. Detected 12.500 MHz APIC timer. testing NMI watchdog ... OK. NET: Registered protocol family 16 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20050309 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) PCI: Via IRQ fixup ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $ NTFS driver 2.1.22 [Flags: R/O]. EFS: 1.0a - http://aeschi.ch.eu.org/efs/ SGI XFS with large block/inode numbers, no debug enabled Initializing Cryptographic API ACPI: Power Button (FF) [PWRF] ACPI: Sleep Button (CM) [SLPB] Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 [PCSPP(,...)] io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 r8169 Gigabit Ethernet driver 2.2LK loaded ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16 r8169: NAPI enabled eth0: RTL8169 at 0xffffc20000002b00, 00:0c:76:bd:22:23, IRQ 16 Linux video capture interface: v1.00 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 16X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 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) target0:0:0: Domain Validation skipping write tests (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:0: Ending Domain Validation Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation WIDTH IS 1 (scsi0:A:15): 6.600MB/s transfers (16bit) (scsi0:A:15): 80.000MB/s transfers (40.000MHz, offset 63, 16bit) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests (scsi1:A:1): 20.000MB/s transfers (20.000MHz, offset 15) scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7b Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 HCNT = 0x60 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0xa0] DFCNTRL[0x38] DFSTATUS[0x40] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x2] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 2 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi1:0:1:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x0 0x0 0x0 0x0 0x0 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7b Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 HCNT = 0x20 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0x80] DFCNTRL[0x38] DFSTATUS[0x20] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x8] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x8] SCB_SCSIID[0x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 3 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi: Device offlined - not ready after error recovery: host 1 channel 0 id 1 lun 0 target1:0:1: Domain Validation detected failure, dropping back --- The speed of my first HD is also strange (on the first AIC7xxx controler). Thank you for regarding my problem :-) -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 14:50 ` Grégoire Favre @ 2005-06-13 14:59 ` James Bottomley 2005-06-13 15:05 ` Christoph Hellwig ` (2 more replies) 0 siblings, 3 replies; 77+ messages in thread From: James Bottomley @ 2005-06-13 14:59 UTC (permalink / raw) To: Grégoire Favre; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel > Hello, I have applied your two patches against 2.6.12-rc6 (the > http://parisc-linux.org/~jejb/scsi_diffs/scsi-misc-2.6.diff and the last > one you sent per email) and I get this now : Actually, the kernel appears to be wrong: > Linux version 2.6.12-rc5 (root@gregoire) (gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #4 Mon Jun 6 20:29:04 CEST 2005 ^^^^ It's also not showing any of the debugging information in the patch, so I think you might not be booted on the correct kernel. James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 14:59 ` James Bottomley @ 2005-06-13 15:05 ` Christoph Hellwig 2005-06-13 15:17 ` Grégoire Favre 2005-06-13 18:37 ` Gr�goire Favre 2 siblings, 0 replies; 77+ messages in thread From: Christoph Hellwig @ 2005-06-13 15:05 UTC (permalink / raw) To: James Bottomley Cc: Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, Jun 13, 2005 at 09:59:43AM -0500, James Bottomley wrote: > > Hello, I have applied your two patches against 2.6.12-rc6 (the > > http://parisc-linux.org/~jejb/scsi_diffs/scsi-misc-2.6.diff and the last > > one you sent per email) and I get this now : > > Actually, the kernel appears to be wrong: > > > Linux version 2.6.12-rc5 (root@gregoire) (gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #4 Mon Jun 6 20:29:04 CEST 2005 Although it's doubtfull this causes it, this is a compile fully of totally broken patches. Please use a proper compile instead of the Gentoo whackopatchotree. ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 14:59 ` James Bottomley 2005-06-13 15:05 ` Christoph Hellwig @ 2005-06-13 15:17 ` Grégoire Favre 2005-06-13 18:37 ` Gr�goire Favre 2 siblings, 0 replies; 77+ messages in thread From: Grégoire Favre @ 2005-06-13 15:17 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, Jun 13, 2005 at 09:59:43AM -0500, James Bottomley wrote: > Actually, the kernel appears to be wrong: Oops, sorry, I took my grub conf and edited the bad entry : title 2.6.12-rc6 #kernel (hd0,2)/bzImage-2.6.12-rc6 root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 kernel (hd0,2)/bzImage-2.6.12-rc5 root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0 to take the second option with the "console=ttyS0" and forgot to update it to (hd0,2)/bzImage-2.6.12-rc6. Sorry for it, I can reboot my computer at 9pm (vdr is reccording till 9pm) and then I post the result :) And don't worry, it's a vanilla 2.6.12-rc6 with only the scsi-misc and the last patch, I even didn't patch for latest DVB. -- Grégoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 14:59 ` James Bottomley 2005-06-13 15:05 ` Christoph Hellwig 2005-06-13 15:17 ` Grégoire Favre @ 2005-06-13 18:37 ` Gr�goire Favre 2005-06-13 20:50 ` James Bottomley 2 siblings, 1 reply; 77+ messages in thread From: Gr�goire Favre @ 2005-06-13 18:37 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel I hope it's right now : Bootdata ok (command line is root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0) Linux version 2.6.12-rc6 (root@gregoire) (gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #2 Sun Jun 12 19:50:13 CEST 2005 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff8000 (ACPI data) BIOS-e820: 000000003fff8000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) ACPI: PM-Timer IO Port: 0x808 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:12 APIC version 16 ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level) Setting APIC routing to flat Using ACPI (MADT) for SMP configuration information Allocating PCI resources starting at 40000000 (gap: 40000000:bec00000) Built 1 zonelists Kernel command line: root=/dev/sdc2 parport=auto video=vesafb:mtrr,ywrap,1024x800-16@75 vga=0xF07 console=ttyS0 Initializing CPU#0 PID hash table entries: 4096 (order: 12, 131072 bytes) time.c: Using 3.579545 MHz PM timer. time.c: Detected 2000.089 MHz processor. time.c: Using PIT/TSC based timekeeping. Console: colour VGA+ 80x60 Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes) Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes) Memory: 1025304k/1048512k available (3137k kernel code, 22512k reserved, 1305k data, 160k init) Mount-cache hash table entries: 256 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU: AMD Athlon(tm) 64 Processor 3000+ stepping 00 Using local APIC timer interrupts. Detected 12.500 MHz APIC timer. testing NMI watchdog ... OK. NET: Registered protocol family 16 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20050309 ACPI: Interpreter enabled ACPI: Using IOAPIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (0000:00) PCI: Probing PCI hardware (bus 00) ACPI: Power Resource [URP1] (off) ACPI: Power Resource [URP2] (off) ACPI: Power Resource [FDDP] (off) ACPI: Power Resource [LPTP] (off) ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs *3 4 5 6 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled. SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report IA32 emulation $Id: sys_ia32.c,v 1.32 2002/03/24 13:02:28 ak Exp $ NTFS driver 2.1.22 [Flags: R/O]. EFS: 1.0a - http://aeschi.ch.eu.org/efs/ SGI XFS with large block/inode numbers, no debug enabled Initializing Cryptographic API ACPI: Power Button (FF) [PWRF] ACPI: Sleep Button (CM) [SLPB] Real Time Clock Driver v1.12 Non-volatile memory driver v1.2 serio: i8042 AUX port at 0x60,0x64 irq 12 serio: i8042 KBD port at 0x60,0x64 irq 1 Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 [PCSPP(,...)] io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 r8169 Gigabit Ethernet driver 2.2LK loaded ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16 r8169: NAPI enabled eth0: RTL8169 at 0xffffc20000002b00, 00:0c:76:bd:22:23, IRQ 16 Linux video capture interface: v1.00 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 16X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs target0:0:0: SC IS ffff81003fca8b40 target0:0:0: ULTRA2 target0:0:0: scsirate IS 0x83, min_period is 10 Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 target0:0:0: asynchronous. scsi0:A:0:0: Tagged Queuing enabled. Depth 253 target0:0:0: Beginning Domain Validation target0:0:0: wide asynchronous. target0:0:0: Domain Validation skipping write tests target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 15) target0:0:0: Ending Domain Validation target0:0:1: SC IS ffff81003fca8b40 target0:0:1: ULTRA2 target0:0:1: scsirate IS 0x83, min_period is 10 target0:0:2: SC IS ffff81003fca8b40 target0:0:2: ULTRA2 target0:0:2: scsirate IS 0x83, min_period is 10 target0:0:3: SC IS ffff81003fca8b40 target0:0:3: ULTRA2 target0:0:3: scsirate IS 0x83, min_period is 10 target0:0:4: SC IS ffff81003fca8b40 target0:0:4: ULTRA2 target0:0:4: scsirate IS 0x83, min_period is 10 target0:0:5: SC IS ffff81003fca8b40 target0:0:5: ULTRA2 target0:0:5: scsirate IS 0x83, min_period is 10 target0:0:6: SC IS ffff81003fca8b40 target0:0:6: ULTRA2 target0:0:6: scsirate IS 0x83, min_period is 10 target0:0:8: SC IS ffff81003fca8b40 target0:0:8: ULTRA2 target0:0:8: scsirate IS 0x83, min_period is 10 target0:0:9: SC IS ffff81003fca8b40 target0:0:9: ULTRA2 target0:0:9: scsirate IS 0x83, min_period is 10 target0:0:10: SC IS ffff81003fca8b40 target0:0:10: ULTRA2 target0:0:10: scsirate IS 0x83, min_period is 10 target0:0:11: SC IS ffff81003fca8b40 target0:0:11: ULTRA2 target0:0:11: scsirate IS 0x83, min_period is 10 target0:0:12: SC IS ffff81003fca8b40 target0:0:12: ULTRA2 target0:0:12: scsirate IS 0x83, min_period is 10 target0:0:13: SC IS ffff81003fca8b40 target0:0:13: ULTRA2 target0:0:13: scsirate IS 0x83, min_period is 10 target0:0:14: SC IS ffff81003fca8b40 target0:0:14: ULTRA2 target0:0:14: scsirate IS 0x83, min_period is 10 target0:0:15: SC IS ffff81003fca8b40 target0:0:15: ULTRA2 target0:0:15: scsirate IS 0x83, min_period is 10 Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 target0:0:15: asynchronous. scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation target0:0:15: wide asynchronous. target0:0:15: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 63) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs target1:0:0: SC IS ffff81003fca89c0 target1:0:0: scsirate IS 0xf, min_period is 9 target1:0:1: SC IS ffff81003fca89c0 target1:0:1: scsirate IS 0xf, min_period is 9 target1:0:1: asynchronous. Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests target1:0:1: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 15) scsi1:0:1:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 scsi1: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi1: Dumping Card State in Data-in phase, at SEQADDR 0x7c Card was paused ACCUM = 0x0, SINDEX = 0xb8, DINDEX = 0xa8, ARG_2 = 0x0 HCNT = 0x60 SCBPTR = 0x0 SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0x40] SCSISEQ[0x12] SBLKCTL[0x0] SCSIRATE[0xf] SEQCTL[0x10] SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x2] SSTAT2[0x0] SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0xa0] DFCNTRL[0x38] DFSTATUS[0x40] STACK: 0x0 0x162 0x192 0x6e SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sequencer SCB Info: 0 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] SCB_TAG[0x2] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] SCB_LUN[0xff] SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x48] SCB_SCSIID[0x17] SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(1): 2 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi1:0:1:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi1:0:1:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x60 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes Unable to handle kernel NULL pointer dereference at 0000000000000150 RIP: <ffffffff802fcd62>{scsi_is_host_device+2} PGD 0 Oops: 0000 [1] PREEMPT CPU 0 Modules linked in: Pid: 297, comm: scsi_eh_1 Not tainted 2.6.12-rc6 RIP: 0010:[<ffffffff802fcd62>] <ffffffff802fcd62>{scsi_is_host_device+2} RSP: 0000:ffff81003fd67ce0 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 0000000000000028 RCX: 0000000000000013 RDX: ffff81003fcd6e80 RSI: 0000000000000041 RDI: 0000000000000028 RBP: 0000000000000000 R08: 0000000000000200 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000041 R13: ffff81003fcdae00 R14: 0000000000000000 R15: ffff81003fcdac00 FS: 0000000000000000(0000) GS:ffffffff8059c340(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000000000000150 CR3: 0000000000101000 CR4: 00000000000006e0 Process scsi_eh_1 (pid: 297, threadinfo ffff81003fd66000, task ffff81003fcee130) Stack: ffffffff8031ae68 ffff81003fd67d08 ffffffff00000050 0000000000000000 0000000000000000 08ff000000000000 0000000000000000 0000000000000008 ffff81003fccf130 0000000000000000 Call Trace:<ffffffff8031ae68>{ahc_send_async+328} <ffffffff8031afcf>{ahc_send_async+687} <ffffffff803096af>{ahc_run_untagged_queues+31} <ffffffff8030a877>{ahc_set_syncrate+583} <ffffffff80311176>{ahc_reset_channel+886} <ffffffff8031a077>{ahc_linux_bus_reset+39} <ffffffff802ff112>{scsi_try_bus_reset+82} <ffffffff80300144>{scsi_error_handler+1444} <ffffffff8010f383>{child_rip+8} <ffffffff802ffba0>{scsi_error_handler+0} <ffffffff8010f37b>{child_rip+0} Code: 48 81 bf 28 01 00 00 c0 d0 2f 80 0f 94 c0 c3 66 66 66 90 66 RIP <ffffffff802fcd62>{scsi_is_host_device+2} RSP <ffff81003fd67ce0> CR2: 0000000000000150 <6>note: scsi_eh_1[297] exited with preempt_count 1 -- Gr�goire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 18:37 ` Gr�goire Favre @ 2005-06-13 20:50 ` James Bottomley 2005-06-13 21:33 ` Gregoire Favre 2005-06-13 21:42 ` What breaks aic7xxx in post 2.6.12-rc2 ? Frank van Maarseveen 0 siblings, 2 replies; 77+ messages in thread From: James Bottomley @ 2005-06-13 20:50 UTC (permalink / raw) To: Gr�goire Favre Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, 2005-06-13 at 20:37 +0200, =?utf-8?Q?Gr=E9goire?= Favre wrote: > target1:0:1: SC IS ffff81003fca89c0 > > target1:0:1: scsirate IS 0xf, min_period is 9 > > target1:0:1: asynchronous. > > Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 > > Type: CD-ROM ANSI SCSI revision: 02 > > target1:0:1: Beginning Domain Validation > > target1:0:1: Domain Validation skipping write tests > > target1:0:1: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 15) OK, this is what tells me there's an error in the bios reading routines for ultra cards. Can you try this (it should apply straight on your currently patched 2.6.12-rc6 tree)... hopefully I've been more careful in the bios reading routines for the ultra (and fast) cards. Thanks, James diff -u b/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c --- b/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -622,26 +622,37 @@ dev_printk(KERN_ERR, &starget->dev, "SC IS %p\n", sc); if (sc) { + int maxsync = AHC_SYNCRATE_DT; + int ultra = 0; + int flags = sc->device_flags[target_offset]; + + if (ahc->flags & AHC_NEWEEPROM_FMT) { + if (flags & CFSYNCHISULTRA) + ultra = 1; + } else if (flags & CFULTRAEN) + ultra = 1; + /* AIC nutcase; 10MHz appears as ultra = 1, CFXFER = 0x04 + * change it to ultra=0, CFXFER = 0 */ + if(ultra && (flags & CFXFER) == 0x04) { + dev_printk(KERN_ERR, &starget->dev, "10MHz, flags 0x%x\n", flags); + ultra = 0; + flags &= ~CFXFER; + } + if ((ahc->features & AHC_ULTRA2) != 0) { - scsirate = sc->device_flags[target_offset] & CFXFER; - dev_printk(KERN_ERR, &starget->dev, "ULTRA2\n"); + scsirate = (flags & CFXFER) | ultra ? 0x8 : 0; + dev_printk(KERN_ERR, &starget->dev, "ULTRA2, flags 0x%x\n", flags); } else { - scsirate = (sc->device_flags[target_offset] & CFXFER) << 4; - if (sc->device_flags[target_offset] & CFSYNCH) - scsirate |= SOFS; + scsirate = (flags & CFXFER) << 4; + maxsync = ultra ? AHC_SYNCRATE_ULTRA : + AHC_SYNCRATE_FAST; } - if (sc->device_flags[target_offset] & CFWIDEB) { - scsirate |= WIDEXFER; - spi_max_width(starget) = 1; - } else - spi_max_width(starget) = 0; - spi_min_period(starget) = - ahc_find_period(ahc, scsirate, AHC_SYNCRATE_DT); - dev_printk(KERN_ERR, &starget->dev, "scsirate IS 0x%x, min_period is %d\n", scsirate, spi_min_period(starget)); - if (spi_min_period(starget) == 0) - /* This means async, so set offset to zero */ + spi_max_width(starget) = (flags & CFWIDEB) ? 1 : 0; + if (!(flags & CFSYNCH)) spi_max_offset(starget) = 0; - + spi_min_period(starget) = + ahc_find_period(ahc, scsirate, maxsync); + dev_printk(KERN_ERR, &starget->dev, "scsirate IS 0x%x, min_period is %d, flags 0x%x\n", scsirate, spi_min_period(starget), flags); tinfo = ahc_fetch_transinfo(ahc, channel, ahc->our_id, starget->id, &tstate); ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 20:50 ` James Bottomley @ 2005-06-13 21:33 ` Gregoire Favre 2005-06-13 21:46 ` James Bottomley 2005-06-13 21:42 ` What breaks aic7xxx in post 2.6.12-rc2 ? Frank van Maarseveen 1 sibling, 1 reply; 77+ messages in thread From: Gregoire Favre @ 2005-06-13 21:33 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, Jun 13, 2005 at 03:50:47PM -0500, James Bottomley wrote: > OK, this is what tells me there's an error in the bios reading routines > for ultra cards. > > Can you try this (it should apply straight on your currently patched > 2.6.12-rc6 tree)... hopefully I've been more careful in the bios reading > routines for the ultra (and fast) cards. I was really sure I should work and I booted it without the console switch to log on my palm, so I miss the beginning of the log, I hope this dmesg is enough (yes, this time it booted perfectly, thank you very much) :-) I wonder if the speed read for my first controller with U2 and U160 drive are right ? I'll stay under this kernel some times, in case some info are still needed :-) ver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio Probing IDE interface ide0... hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 Probing IDE interface ide2... Probing IDE interface ide3... Probing IDE interface ide4... Probing IDE interface ide5... hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 16X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs target0:0:0: SC IS ffff81003fcaeac0 target0:0:0: ULTRA2, flags 0xc3bb target0:0:0: scsirate IS 0x8, min_period is 25, flags 0xc3bb Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 target0:0:0: asynchronous. scsi0:A:0:0: Tagged Queuing enabled. Depth 253 target0:0:0: Beginning Domain Validation target0:0:0: wide asynchronous. target0:0:0: Domain Validation skipping write tests target0:0:0: FAST-10 WIDE SCSI 20.0 MB/s ST (100 ns, offset 15) target0:0:0: Ending Domain Validation target0:0:1: SC IS ffff81003fcaeac0 target0:0:1: ULTRA2, flags 0xc1bb target0:0:1: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:2: SC IS ffff81003fcaeac0 target0:0:2: ULTRA2, flags 0xc1bb target0:0:2: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:3: SC IS ffff81003fcaeac0 target0:0:3: ULTRA2, flags 0xc1bb target0:0:3: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:4: SC IS ffff81003fcaeac0 target0:0:4: ULTRA2, flags 0xc1bb target0:0:4: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:5: SC IS ffff81003fcaeac0 target0:0:5: ULTRA2, flags 0xc1bb target0:0:5: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:6: SC IS ffff81003fcaeac0 target0:0:6: ULTRA2, flags 0xc1bb target0:0:6: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:8: SC IS ffff81003fcaeac0 target0:0:8: ULTRA2, flags 0xc1bb target0:0:8: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:9: SC IS ffff81003fcaeac0 target0:0:9: ULTRA2, flags 0xc1bb target0:0:9: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:10: SC IS ffff81003fcaeac0 target0:0:10: ULTRA2, flags 0xc1bb target0:0:10: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:11: SC IS ffff81003fcaeac0 target0:0:11: ULTRA2, flags 0xc1bb target0:0:11: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:12: SC IS ffff81003fcaeac0 target0:0:12: ULTRA2, flags 0xc1bb target0:0:12: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:13: SC IS ffff81003fcaeac0 target0:0:13: ULTRA2, flags 0xc1bb target0:0:13: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:14: SC IS ffff81003fcaeac0 target0:0:14: ULTRA2, flags 0xc1bb target0:0:14: scsirate IS 0x8, min_period is 25, flags 0xc1bb target0:0:15: SC IS ffff81003fcaeac0 target0:0:15: ULTRA2, flags 0xc1bb target0:0:15: scsirate IS 0x8, min_period is 25, flags 0xc1bb Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 target0:0:15: asynchronous. scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation target0:0:15: wide asynchronous. target0:0:15: FAST-10 WIDE SCSI 20.0 MB/s ST (100 ns, offset 63) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs target1:0:0: SC IS ffff81003fcae980 target1:0:0: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:1: SC IS ffff81003fcae980 target1:0:1: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:1: asynchronous. Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests target1:0:1: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 15) target1:0:1: Ending Domain Validation target1:0:2: SC IS ffff81003fcae980 target1:0:2: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:2: asynchronous. Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:2: Beginning Domain Validation target1:0:2: Domain Validation skipping write tests target1:0:2: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 8) target1:0:2: Ending Domain Validation target1:0:3: SC IS ffff81003fcae980 target1:0:3: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:3: asynchronous. Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:3: Beginning Domain Validation target1:0:3: Domain Validation skipping write tests target1:0:3: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 8) target1:0:3: Ending Domain Validation target1:0:4: SC IS ffff81003fcae980 target1:0:4: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:5: SC IS ffff81003fcae980 target1:0:5: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:6: SC IS ffff81003fcae980 target1:0:6: scsirate IS 0x0, min_period is 25, flags 0xc318 libata version 1.11 loaded. sata_via version 1.1 ACPI: PCI Interrupt 0000:00:0f.0[B] -> GSI 20 (level, low) -> IRQ 20 sata_via(0000:00:0f.0): routed to hard irq line 10 ata1: SATA max UDMA/133 cmd 0xE000 ctl 0xDC02 bmdma 0xD000 irq 20 ata2: SATA max UDMA/133 cmd 0xD800 ctl 0xD402 bmdma 0xD008 irq 20 ata1: no device found (phy stat 00000000) scsi2 : sata_via ata2: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4043 85:7c69 86:3e01 87:4043 88:407f ata2: dev 0 ATA, max UDMA/133, 398297088 sectors: lba48 ata2: dev 0 configured for UDMA/133 scsi3 : sata_via Vendor: ATA Model: Maxtor 6B200M0 Rev: BANC Type: Direct-Access ANSI SCSI revision: 05 SCSI device sda: 17850000 512-byte hdwr sectors (9139 MB) SCSI device sda: drive cache: write back SCSI device sda: 17850000 512-byte hdwr sectors (9139 MB) SCSI device sda: drive cache: write back sda: sda1 sda2 Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sdb: 71687370 512-byte hdwr sectors (36704 MB) SCSI device sdb: drive cache: write back SCSI device sdb: 71687370 512-byte hdwr sectors (36704 MB) SCSI device sdb: drive cache: write back sdb: sdb1 sdb2 Attached scsi disk sdb at scsi0, channel 0, id 15, lun 0 SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB) SCSI device sdc: drive cache: write back SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB) SCSI device sdc: drive cache: write back sdc: sdc1 sdc2 Attached scsi disk sdc at scsi3, channel 0, id 0, lun 0 sr0: scsi3-mmc drive: 32x/32x cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr0 at scsi1, channel 0, id 1, lun 0 sr1: scsi3-mmc drive: 20x/20x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr1 at scsi1, channel 0, id 2, lun 0 sr2: scsi3-mmc drive: 20x/20x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr2 at scsi1, 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 15, lun 0, type 0 Attached scsi generic sg2 at scsi1, channel 0, id 1, lun 0, type 5 Attached scsi generic sg3 at scsi1, channel 0, id 2, lun 0, type 5 Attached scsi generic sg4 at scsi1, channel 0, id 3, lun 0, type 5 Attached scsi generic sg5 at scsi3, channel 0, id 0, lun 0, type 0 usbmon: debugs is not available ACPI: PCI Interrupt 0000:00:10.4[C] -> GSI 21 (level, low) -> IRQ 21 ehci_hcd 0000:00:10.4: VIA Technologies, Inc. USB 2.0 ehci_hcd 0000:00:10.4: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:10.4: irq 21, io mem 0xcfffe900 ehci_hcd 0000:00:10.4: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004 hub 1-0:1.0: USB hub found hub 1-0:1.0: 8 ports detected USB Universal Host Controller Interface driver v2.2 ACPI: PCI Interrupt 0000:00:10.0[A] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.0: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller uhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2 uhci_hcd 0000:00:10.0: irq 21, io base 0x0000bc00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.1[A] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.1: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#2) uhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 3 uhci_hcd 0000:00:10.1: irq 21, io base 0x0000c000 hub 3-0:1.0: USB hub found hub 3-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.2[B] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.2: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#3) ehci_hcd 0000:00:10.4: port 8 reset error -110 hub 1-0:1.0: hub_port_status failed (err = -32) uhci_hcd 0000:00:10.2: new USB bus registered, assigned bus number 4 uhci_hcd 0000:00:10.2: irq 21, io base 0x0000c400 hub 4-0:1.0: USB hub found hub 4-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.3[B] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.3: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#4) uhci_hcd 0000:00:10.3: new USB bus registered, assigned bus number 5 uhci_hcd 0000:00:10.3: irq 21, io base 0x0000c800 hub 5-0:1.0: USB hub found hub 5-0:1.0: 2 ports detected Initializing USB Mass Storage driver... ehci_hcd 0000:00:10.4: port 8 reset error -110 hub 1-0:1.0: hub_port_status failed (err = -32) ehci_hcd 0000:00:10.4: port 8 reset error -110 hub 1-0:1.0: hub_port_status failed (err = -32) usb 1-8: new high speed USB device using ehci_hcd and address 2 hub 1-8:1.0: USB hub found hub 1-8:1.0: 2 ports detected usbcore: registered new driver usb-storage USB Mass Storage support registered. mice: PS/2 mouse device common for all mice input: PC Speaker Advanced Linux Sound Architecture Driver Version 1.0.9rc2 (Thu Mar 24 10:33:39 2005 UTC). via82xx: Assuming DXS channels with 48k fixed sample rate. Please try dxs_support=1 or dxs_support=4 option and report if it works on your machine. ACPI: PCI Interrupt 0000:00:11.5[C] -> GSI 22 (level, low) -> IRQ 22 PCI: Setting latency timer of device 0000:00:11.5 to 64 input: AT Translated Set 2 keyboard on isa0060/serio0 logips2pp: Detected unknown logitech mouse model 99 input: ImExPS/2 Logitech Explorer Mouse on isa0060/serio1 ALSA device list: #0: VIA 8237 with ALC655 at 0xb800, irq 22 NET: Registered protocol family 2 IP: routing cache hash table of 8192 buckets, 64Kbytes TCP established hash table entries: 262144 (order: 9, 2097152 bytes) TCP bind hash table entries: 65536 (order: 7, 524288 bytes) TCP: Hash tables configured (established 262144 bind 65536) ip_tables: (C) 2000-2002 Netfilter core team arp_tables: (C) 2002 David S. Miller Initializing IPsec netlink socket NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 15 ACPI wakeup devices: PCI0 UAR1 USB1 USB2 USB3 USB4 EHCI USBD AC9 MC9 ILAN SLPB ACPI: (supports S0 S1 S3 S4 S5) ReiserFS: sdc2: found reiserfs format "3.6" with standard journal usb 1-8.1: new high speed USB device using ehci_hcd and address 3 hub 1-8.1:1.0: USB hub found hub 1-8.1:1.0: 4 ports detected usb 1-8.2: new high speed USB device using ehci_hcd and address 4 scsi4 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 4 usb-storage: waiting for device to settle before scanning Vendor: SMSC Model: 223 U HS-CF Rev: 3.60 Type: Direct-Access ANSI SCSI revision: 00 Attached scsi removable disk sdd at scsi4, channel 0, id 0, lun 0 Attached scsi generic sg6 at scsi4, channel 0, id 0, lun 0, type 0 usb-storage: device scan complete ReiserFS: sdc2: using ordered data mode ReiserFS: sdc2: journal params: device sdc2, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sdc2: checking transaction log (sdc2) ReiserFS: sdc2: Using r5 hash to sort names VFS: Mounted root (reiserfs filesystem) readonly. Freeing unused kernel memory: 160k freed Adding 506036k swap on /dev/hda2. Priority:2 extents:1 Adding 530136k swap on /dev/sda2. Priority:2 extents:1 Adding 530104k swap on /dev/sdb1. Priority:1 extents:1 Adding 1004020k swap on /dev/sdc1. Priority:3 extents:1 Linux agpgart interface v0.101 (c) Dave Jones nvidia: module license 'NVIDIA' taints kernel. ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16 NVRM: loading NVIDIA Linux x86_64 NVIDIA Kernel Module 1.0-7664 Wed May 25 22:14:12 PDT 2005 XFS mounting filesystem sdb2 Ending clean XFS mount for filesystem: sdb2 XFS mounting filesystem hda4 Ending clean XFS mount for filesystem: hda4 ReiserFS: sda1: found reiserfs format "3.6" with standard journal ReiserFS: sda1: using ordered data mode ReiserFS: sda1: journal params: device sda1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sda1: checking transaction log (sda1) ReiserFS: sda1: Using r5 hash to sort names saa7146: register extension 'dvb'. ACPI: PCI Interrupt 0000:00:06.0[A] -> GSI 17 (level, low) -> IRQ 17 saa7146: found saa7146 @ mem ffffc20000506e00 (revision 1, irq 17) (0x13c2,0x0000). DVB: registering new adapter (Technotrend/Hauppauge WinTV DVB-S rev1.X). adapter has MAC addr = 00:d0:5c:00:41:90 dvb-ttpci: gpioirq unknown type=0 len=0 dvb-ttpci: info @ card 0: firm f0240009, rtsl b0250018, vid 71010068, app 8000261d dvb-ttpci: firmware @ card 0 supports CI link layer interface dvb-ttpci: adac type set to 0 @ card 0 saa7146_vv: saa7146 (0): registered device video0 [v4l2] ves1x93: Detected ves1893a rev2 DVB: registering frontend 0 (VLSI VES1x93 DVB-S)... dvb-ttpci: found av7110-0. saa7146: register extension 'budget dvb'. saa7146: register extension 'budget_ci dvb'. ACPI: PCI Interrupt 0000:00:07.0[A] -> GSI 18 (level, low) -> IRQ 18 saa7146: found saa7146 @ mem ffffc200005ecc00 (revision 1, irq 18) (0x13c2,0x100f). DVB: registering new adapter (TT-Budget/WinTV-NOVA-CI PCI). adapter has MAC addr = 00:d0:5c:23:a3:9b DVB: registering frontend 1 (ST STV0299 DVB-S)... r8169: eth0: link up -- Gr\'egoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 21:33 ` Gregoire Favre @ 2005-06-13 21:46 ` James Bottomley 2005-06-13 21:59 ` Gregoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-06-13 21:46 UTC (permalink / raw) To: Gregoire Favre; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, 2005-06-13 at 23:33 +0200, Gregoire Favre wrote: > On Mon, Jun 13, 2005 at 03:50:47PM -0500, James Bottomley wrote: > I was really sure I should work and I booted it without the console > switch to log on my palm, so I miss the beginning of the log, I hope > this dmesg is enough (yes, this time it booted perfectly, thank you very > much) :-) > > I wonder if the speed read for my first controller with U2 and U160 > drive are right ? No ... unfortunately there's a precedence bug in the u160 code ... Try the attached (on top of everything else). Thanks, James diff -u b/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c --- b/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -640,7 +640,7 @@ } if ((ahc->features & AHC_ULTRA2) != 0) { - scsirate = (flags & CFXFER) | ultra ? 0x8 : 0; + scsirate = (flags & CFXFER) | (ultra ? 0x8 : 0); dev_printk(KERN_ERR, &starget->dev, "ULTRA2, flags 0x%x\n", flags); } else { scsirate = (flags & CFXFER) << 4; ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 21:46 ` James Bottomley @ 2005-06-13 21:59 ` Gregoire Favre 2005-06-13 22:04 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Gregoire Favre @ 2005-06-13 21:59 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, Jun 13, 2005 at 04:46:31PM -0500, James Bottomley wrote: > No ... unfortunately there's a precedence bug in the u160 code ... > > Try the attached (on top of everything else). Thank you very much for the quick fix !!! Here's the log : iver 2.2LK loaded ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 16 (level, low) -> IRQ 16 r8169: NAPI enabled eth0: Identified chip type is 'RTL8169s/8110s'. eth0: RTL8169 at 0xffffc20000002b00, 00:0c:76:bd:22:23, IRQ 16 Linux video capture interface: v1.00 Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller at PCI slot 0000:00:0f.1 ACPI: PCI Interrupt 0000:00:0f.1[A] -> GSI 20 (level, low) -> IRQ 20 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later VP_IDE: VIA vt8237 (rev 00) IDE UDMA133 controller on pci0000:00:0f.1 ide0: BM-DMA at 0xfc00-0xfc07, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfc08-0xfc0f, BIOS settings: hdc:DMA, hdd:pio Probing IDE interface ide0... hda: IC35L120AVVA07-0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... hdc: SONY DVD RW DRU-500A, ATAPI CD/DVD-ROM drive hdd: IOMEGA ZIP 250 ATAPI Floppy, ATAPI FLOPPY drive hdd: set_drive_speed_status: status=0x51 { DriveReady SeekComplete Error } hdd: set_drive_speed_status: error=0x04 { AbortedCommand } ide1 at 0x170-0x177,0x376 on irq 15 Probing IDE interface ide2... Probing IDE interface ide3... Probing IDE interface ide4... Probing IDE interface ide5... hda: max request size: 128KiB hda: 241254720 sectors (123522 MB) w/1863KiB Cache, CHS=65535/16/63, UDMA(100) hda: cache flushes supported hda: hda1 hda2 hda3 hda4 hdc: ATAPI 16X DVD-ROM DVD-R CD-R/RW drive, 8192kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide hdd: No disk in drive hdd: 244736kB, 239/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 16 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 17 (level, low) -> IRQ 17 scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs target0:0:0: SC IS ffff81003fcaeac0 target0:0:0: ULTRA2, flags 0xc3bb target0:0:0: scsirate IS 0x3, min_period is 10, flags 0xc3bb Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 target0:0:0: asynchronous. scsi0:A:0:0: Tagged Queuing enabled. Depth 253 target0:0:0: Beginning Domain Validation target0:0:0: wide asynchronous. target0:0:0: Domain Validation skipping write tests target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 15) target0:0:0: Ending Domain Validation target0:0:1: SC IS ffff81003fcaeac0 target0:0:1: ULTRA2, flags 0xc1bb target0:0:1: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:2: SC IS ffff81003fcaeac0 target0:0:2: ULTRA2, flags 0xc1bb target0:0:2: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:3: SC IS ffff81003fcaeac0 target0:0:3: ULTRA2, flags 0xc1bb target0:0:3: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:4: SC IS ffff81003fcaeac0 target0:0:4: ULTRA2, flags 0xc1bb target0:0:4: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:5: SC IS ffff81003fcaeac0 target0:0:5: ULTRA2, flags 0xc1bb target0:0:5: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:6: SC IS ffff81003fcaeac0 target0:0:6: ULTRA2, flags 0xc1bb target0:0:6: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:8: SC IS ffff81003fcaeac0 target0:0:8: ULTRA2, flags 0xc1bb target0:0:8: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:9: SC IS ffff81003fcaeac0 target0:0:9: ULTRA2, flags 0xc1bb target0:0:9: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:10: SC IS ffff81003fcaeac0 target0:0:10: ULTRA2, flags 0xc1bb target0:0:10: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:11: SC IS ffff81003fcaeac0 target0:0:11: ULTRA2, flags 0xc1bb target0:0:11: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:12: SC IS ffff81003fcaeac0 target0:0:12: ULTRA2, flags 0xc1bb target0:0:12: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:13: SC IS ffff81003fcaeac0 target0:0:13: ULTRA2, flags 0xc1bb target0:0:13: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:14: SC IS ffff81003fcaeac0 target0:0:14: ULTRA2, flags 0xc1bb target0:0:14: scsirate IS 0x3, min_period is 10, flags 0xc1bb target0:0:15: SC IS ffff81003fcaeac0 target0:0:15: ULTRA2, flags 0xc1bb target0:0:15: scsirate IS 0x3, min_period is 10, flags 0xc1bb Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 target0:0:15: asynchronous. scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation target0:0:15: wide asynchronous. target0:0:15: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 63) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs target1:0:0: SC IS ffff81003fcae980 target1:0:0: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:1: SC IS ffff81003fcae980 target1:0:1: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:1: asynchronous. Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests target1:0:1: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 15) target1:0:1: Ending Domain Validation target1:0:2: SC IS ffff81003fcae980 target1:0:2: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:2: asynchronous. Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:2: Beginning Domain Validation target1:0:2: Domain Validation skipping write tests target1:0:2: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 8) target1:0:2: Ending Domain Validation target1:0:3: SC IS ffff81003fcae980 target1:0:3: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:3: asynchronous. Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:3: Beginning Domain Validation target1:0:3: Domain Validation skipping write tests target1:0:3: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 8) target1:0:3: Ending Domain Validation target1:0:4: SC IS ffff81003fcae980 target1:0:4: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:5: SC IS ffff81003fcae980 target1:0:5: scsirate IS 0x0, min_period is 25, flags 0xc318 target1:0:6: SC IS ffff81003fcae980 target1:0:6: scsirate IS 0x0, min_period is 25, flags 0xc318 libata version 1.11 loaded. sata_via version 1.1 ACPI: PCI Interrupt 0000:00:0f.0[B] -> GSI 20 (level, low) -> IRQ 20 sata_via(0000:00:0f.0): routed to hard irq line 10 ata1: SATA max UDMA/133 cmd 0xE000 ctl 0xDC02 bmdma 0xD000 irq 20 ata2: SATA max UDMA/133 cmd 0xD800 ctl 0xD402 bmdma 0xD008 irq 20 ata1: no device found (phy stat 00000000) scsi2 : sata_via ata2: dev 0 cfg 49:2f00 82:7c6b 83:7f09 84:4043 85:7c69 86:3e01 87:4043 88:407f ata2: dev 0 ATA, max UDMA/133, 398297088 sectors: lba48 ata2: dev 0 configured for UDMA/133 scsi3 : sata_via Vendor: ATA Model: Maxtor 6B200M0 Rev: BANC Type: Direct-Access ANSI SCSI revision: 05 SCSI device sda: 17850000 512-byte hdwr sectors (9139 MB) SCSI device sda: drive cache: write back SCSI device sda: 17850000 512-byte hdwr sectors (9139 MB) SCSI device sda: drive cache: write back sda: sda1 sda2 Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sdb: 71687370 512-byte hdwr sectors (36704 MB) SCSI device sdb: drive cache: write back SCSI device sdb: 71687370 512-byte hdwr sectors (36704 MB) SCSI device sdb: drive cache: write back sdb: sdb1 sdb2 Attached scsi disk sdb at scsi0, channel 0, id 15, lun 0 SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB) SCSI device sdc: drive cache: write back SCSI device sdc: 398297088 512-byte hdwr sectors (203928 MB) SCSI device sdc: drive cache: write back sdc: sdc1 sdc2 Attached scsi disk sdc at scsi3, channel 0, id 0, lun 0 sr0: scsi3-mmc drive: 32x/32x cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr0 at scsi1, channel 0, id 1, lun 0 sr1: scsi3-mmc drive: 20x/20x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr1 at scsi1, channel 0, id 2, lun 0 sr2: scsi3-mmc drive: 20x/20x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr2 at scsi1, 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 15, lun 0, type 0 Attached scsi generic sg2 at scsi1, channel 0, id 1, lun 0, type 5 Attached scsi generic sg3 at scsi1, channel 0, id 2, lun 0, type 5 Attached scsi generic sg4 at scsi1, channel 0, id 3, lun 0, type 5 Attached scsi generic sg5 at scsi3, channel 0, id 0, lun 0, type 0 usbmon: debugs is not available ACPI: PCI Interrupt 0000:00:10.4[C] -> GSI 21 (level, low) -> IRQ 21 ehci_hcd 0000:00:10.4: VIA Technologies, Inc. USB 2.0 ehci_hcd 0000:00:10.4: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:10.4: irq 21, io mem 0xcfffe900 ehci_hcd 0000:00:10.4: USB 2.0 initialized, EHCI 1.00, driver 10 Dec 2004 hub 1-0:1.0: USB hub found hub 1-0:1.0: 8 ports detected USB Universal Host Controller Interface driver v2.2 ACPI: PCI Interrupt 0000:00:10.0[A] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.0: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller uhci_hcd 0000:00:10.0: new USB bus registered, assigned bus number 2 uhci_hcd 0000:00:10.0: irq 21, io base 0x0000bc00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.1[A] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.1: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#2) uhci_hcd 0000:00:10.1: new USB bus registered, assigned bus number 3 uhci_hcd 0000:00:10.1: irq 21, io base 0x0000c000 hub 3-0:1.0: USB hub found hub 3-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.2[B] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.2: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#3) usb 1-8: new high speed USB device using ehci_hcd and address 2 uhci_hcd 0000:00:10.2: new USB bus registered, assigned bus number 4 uhci_hcd 0000:00:10.2: irq 21, io base 0x0000c400 hub 4-0:1.0: USB hub found hub 4-0:1.0: 2 ports detected ACPI: PCI Interrupt 0000:00:10.3[B] -> GSI 21 (level, low) -> IRQ 21 uhci_hcd 0000:00:10.3: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (#4) hub 1-8:1.0: USB hub found hub 1-8:1.0: 2 ports detected uhci_hcd 0000:00:10.3: new USB bus registered, assigned bus number 5 uhci_hcd 0000:00:10.3: irq 21, io base 0x0000c800 hub 5-0:1.0: USB hub found hub 5-0:1.0: 2 ports detected Initializing USB Mass Storage driver... usbcore: registered new driver usb-storage USB Mass Storage support registered. mice: PS/2 mouse device common for all mice input: PC Speaker Advanced Linux Sound Architecture Driver Version 1.0.9rc2 (Thu Mar 24 10:33:39 2005 UTC). via82xx: Assuming DXS channels with 48k fixed sample rate. Please try dxs_support=1 or dxs_support=4 option and report if it works on your machine. ACPI: PCI Interrupt 0000:00:11.5[C] -> GSI 22 (level, low) -> IRQ 22 PCI: Setting latency timer of device 0000:00:11.5 to 64 input: AT Translated Set 2 keyboard on isa0060/serio0 logips2pp: Detected unknown logitech mouse model 99 input: ImExPS/2 Logitech Explorer Mouse on isa0060/serio1 ALSA device list: #0: VIA 8237 with ALC655 at 0xb800, irq 22 NET: Registered protocol family 2 IP: routing cache hash table of 8192 buckets, 64Kbytes TCP established hash table entries: 262144 (order: 9, 2097152 bytes) TCP bind hash table entries: 65536 (order: 7, 524288 bytes) TCP: Hash tables configured (established 262144 bind 65536) ip_tables: (C) 2000-2002 Netfilter core team arp_tables: (C) 2002 David S. Miller Initializing IPsec netlink socket NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 15 ACPI wakeup devices: PCI0 UAR1 USB1 USB2 USB3 USB4 EHCI USBD AC9 MC9 ILAN SLPB ACPI: (supports S0 S1 S3 S4 S5) ReiserFS: sdc2: found reiserfs format "3.6" with standard journal usb 1-8.1: new high speed USB device using ehci_hcd and address 3 hub 1-8.1:1.0: USB hub found hub 1-8.1:1.0: 4 ports detected usb 1-8.2: new high speed USB device using ehci_hcd and address 4 scsi4 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 4 usb-storage: waiting for device to settle before scanning Vendor: SMSC Model: 223 U HS-CF Rev: 3.60 Type: Direct-Access ANSI SCSI revision: 00 Attached scsi removable disk sdd at scsi4, channel 0, id 0, lun 0 Attached scsi generic sg6 at scsi4, channel 0, id 0, lun 0, type 0 usb-storage: device scan complete ReiserFS: sdc2: using ordered data mode ReiserFS: sdc2: journal params: device sdc2, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sdc2: checking transaction log (sdc2) ReiserFS: sdc2: Using r5 hash to sort names VFS: Mounted root (reiserfs filesystem) readonly. Freeing unused kernel memory: 160k freed Adding 506036k swap on /dev/hda2. Priority:2 extents:1 Adding 530136k swap on /dev/sda2. Priority:2 extents:1 Adding 530104k swap on /dev/sdb1. Priority:1 extents:1 Adding 1004020k swap on /dev/sdc1. Priority:3 extents:1 Linux agpgart interface v0.101 (c) Dave Jones nvidia: module license 'NVIDIA' taints kernel. ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16 NVRM: loading NVIDIA Linux x86_64 NVIDIA Kernel Module 1.0-7664 Wed May 25 22:14:12 PDT 2005 XFS mounting filesystem sdb2 Ending clean XFS mount for filesystem: sdb2 XFS mounting filesystem hda4 Ending clean XFS mount for filesystem: hda4 ReiserFS: sda1: found reiserfs format "3.6" with standard journal ReiserFS: sda1: using ordered data mode ReiserFS: sda1: journal params: device sda1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: sda1: checking transaction log (sda1) ReiserFS: sda1: Using r5 hash to sort names saa7146: register extension 'dvb'. ACPI: PCI Interrupt 0000:00:06.0[A] -> GSI 17 (level, low) -> IRQ 17 saa7146: found saa7146 @ mem ffffc20000506e00 (revision 1, irq 17) (0x13c2,0x0000). DVB: registering new adapter (Technotrend/Hauppauge WinTV DVB-S rev1.X). adapter has MAC addr = 00:d0:5c:00:41:90 dvb-ttpci: gpioirq unknown type=0 len=0 dvb-ttpci: info @ card 0: firm f0240009, rtsl b0250018, vid 71010068, app 8000261d dvb-ttpci: firmware @ card 0 supports CI link layer interface dvb-ttpci: adac type set to 0 @ card 0 saa7146_vv: saa7146 (0): registered device video0 [v4l2] ves1x93: Detected ves1893a rev2 DVB: registering frontend 0 (VLSI VES1x93 DVB-S)... dvb-ttpci: found av7110-0. saa7146: register extension 'budget dvb'. saa7146: register extension 'budget_ci dvb'. ACPI: PCI Interrupt 0000:00:07.0[A] -> GSI 18 (level, low) -> IRQ 18 saa7146: found saa7146 @ mem ffffc200005ecc00 (revision 1, irq 18) (0x13c2,0x100f). DVB: registering new adapter (TT-Budget/WinTV-NOVA-CI PCI). adapter has MAC addr = 00:d0:5c:23:a3:9b DVB: registering frontend 1 (ST STV0299 DVB-S)... r8169: eth0: link up -- Gr\'egoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 21:59 ` Gregoire Favre @ 2005-06-13 22:04 ` James Bottomley 2005-06-13 22:25 ` Gregoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-06-13 22:04 UTC (permalink / raw) To: Gregoire Favre; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, 2005-06-13 at 23:59 +0200, Gregoire Favre wrote: > target0:0:0: SC IS ffff81003fcaeac0 > target0:0:0: ULTRA2, flags 0xc3bb > target0:0:0: scsirate IS 0x3, min_period is 10, flags 0xc3bb > Vendor: IBM Model: DDRS-39130D Rev: DC1B > Type: Direct-Access ANSI SCSI revision: 02 Well ... just to confirm for this one: although it's on a u160 controller, you have its speed configured in bios to 40MHz (rather than 80Mhz)? That's what the value of flags seems to say, and we look to be interpreting it correctly. James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 22:04 ` James Bottomley @ 2005-06-13 22:25 ` Gregoire Favre 2005-06-14 2:20 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Gregoire Favre @ 2005-06-13 22:25 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, Jun 13, 2005 at 05:04:44PM -0500, James Bottomley wrote: > Well ... just to confirm for this one: although it's on a u160 > controller, you have its speed configured in bios to 40MHz (rather than > 80Mhz)? That's what the value of flags seems to say, and we look to be > interpreting it correctly. Yes, due to those problem, I have reduced all devices speed on both controllers. Now I think I can put the HD to 160 and my CD-writers to 20 :-) (Maybe I could try to also put the DVD-Rom to 20). Do you think it's safe to use this patched 2.6.12-rc6 (I could stay under 2.6.12-rc2 till 2.6.12-rc7 or 2.6.12 comes out) ? Thank you very much, -- Gr\'egoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 22:25 ` Gregoire Favre @ 2005-06-14 2:20 ` James Bottomley 2005-06-14 9:28 ` What breaks aic7xxx in post 2.6.12-rc2 ? (fixed in 2.6.12-rc6 with patches) Gregoire Favre 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-06-14 2:20 UTC (permalink / raw) To: Gregoire Favre; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Tue, 2005-06-14 at 00:25 +0200, Gregoire Favre wrote: > Yes, due to those problem, I have reduced all devices speed on both > controllers. Now I think I can put the HD to 160 and my CD-writers to > 20 :-) (Maybe I could try to also put the DVD-Rom to 20). Actually, I think the problem is that the DVD-Rom thinks it can run at 20 but actually can't > Do you think it's safe to use this patched 2.6.12-rc6 (I could stay > under 2.6.12-rc2 till 2.6.12-rc7 or 2.6.12 comes out) ? Well ... look at it this way ... if no-one finds anything wrong with the patches, they'll be going straight into the kernel tree after 2.6.12, so I trust them as much as that ... James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? (fixed in 2.6.12-rc6 with patches) 2005-06-14 2:20 ` James Bottomley @ 2005-06-14 9:28 ` Gregoire Favre 0 siblings, 0 replies; 77+ messages in thread From: Gregoire Favre @ 2005-06-14 9:28 UTC (permalink / raw) To: James Bottomley; +Cc: dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, Jun 13, 2005 at 09:20:22PM -0500, James Bottomley wrote: > Actually, I think the problem is that the DVD-Rom thinks it can run at > 20 but actually can't You are almost certainly right : setting the speed in BIOS back to 20 and I can't boot, but I can with 16 :-) > Well ... look at it this way ... if no-one finds anything wrong with the > patches, they'll be going straight into the kernel tree after 2.6.12, so > I trust them as much as that ... I will test it for a few days like right now, and I have now set all speed back to full (except for the DVD) : scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 29160B Ultra160 SCSI adapter> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs target0:0:0: SC IS ffff81003fcaeac0 target0:0:0: ULTRA2, flags 0xc33a target0:0:0: scsirate IS 0x2, min_period is 9, flags 0xc33a Vendor: IBM Model: DDRS-39130D Rev: DC1B Type: Direct-Access ANSI SCSI revision: 02 target0:0:0: asynchronous. scsi0:A:0:0: Tagged Queuing enabled. Depth 253 target0:0:0: Beginning Domain Validation target0:0:0: wide asynchronous. target0:0:0: Domain Validation skipping write tests target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 15) target0:0:0: Ending Domain Validation ... target0:0:15: SC IS ffff81003fcaeac0 target0:0:15: ULTRA2, flags 0xc13a target0:0:15: scsirate IS 0x2, min_period is 9, flags 0xc13a Vendor: SEAGATE Model: ST336706LW Rev: 0108 Type: Direct-Access ANSI SCSI revision: 03 target0:0:15: asynchronous. scsi0:A:15:0: Tagged Queuing enabled. Depth 253 target0:0:15: Beginning Domain Validation target0:0:15: wide asynchronous. target0:0:15: FAST-80 WIDE SCSI 160.0 MB/s ST (12.5 ns, offset 63) target0:0:15: Ending Domain Validation scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec 2940 Ultra SCSI adapter> aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs target1:0:0: SC IS ffff81003fcae980 target1:0:0: scsirate IS 0x0, min_period is 12, flags 0xc158 target1:0:1: SC IS ffff81003fcae980 target1:0:1: scsirate IS 0x10, min_period is 15, flags 0xc159 target1:0:1: asynchronous. Vendor: TOSHIBA Model: DVD-ROM SD-M1201 Rev: 1R08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:1: Beginning Domain Validation target1:0:1: Domain Validation skipping write tests target1:0:1: FAST-20 SCSI 16.7 MB/s ST (60 ns, offset 15) target1:0:1: Ending Domain Validation target1:0:2: SC IS ffff81003fcae980 target1:0:2: scsirate IS 0x0, min_period is 12, flags 0xc158 target1:0:2: asynchronous. Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:2: Beginning Domain Validation target1:0:2: Domain Validation skipping write tests target1:0:2: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 8) target1:0:2: Ending Domain Validation target1:0:3: SC IS ffff81003fcae980 target1:0:3: scsirate IS 0x0, min_period is 12, flags 0xc158 target1:0:3: asynchronous. Vendor: PLEXTOR Model: CD-R PX-R820T Rev: 1.08 Type: CD-ROM ANSI SCSI revision: 02 target1:0:3: Beginning Domain Validation target1:0:3: Domain Validation skipping write tests target1:0:3: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 8) target1:0:3: Ending Domain Validation Thank you very much !!! -- Gr\'egoire Favre ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 20:50 ` James Bottomley 2005-06-13 21:33 ` Gregoire Favre @ 2005-06-13 21:42 ` Frank van Maarseveen 2005-06-13 22:59 ` James Bottomley 1 sibling, 1 reply; 77+ messages in thread From: Frank van Maarseveen @ 2005-06-13 21:42 UTC (permalink / raw) To: James Bottomley Cc: Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel 2.6.12-rc6 seems to hang in the aic7xxx driver here, pausing a few seconds dumping state, pausing a few seconds dumping state again. I started to take pictures of the screen but suddenly it got out of the loop and here's the log. I'll try the patch to see if it fixes anything. First some output of /proc: $ cat /proc/scsi/aic7xxx/0 Adaptec AIC7xxx driver version: 6.2.36 Adaptec aic7890/91 Ultra2 SCSI adapter aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs Allocated SCBs: 4, SG List Length: 128 Serial EEPROM: 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3b3 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0x18a2 0x1c5e 0x2807 0x0010 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0x98b4 Target 0 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 1 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 2 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 3 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Goal: 10.000MB/s transfers (10.000MHz, offset 15) Curr: 10.000MB/s transfers (10.000MHz, offset 15) Channel A Target 3 Lun 0 Settings Commands Queued 17 Commands Active 0 Command Openings 1 Max Tagged Openings 0 Device Queue Frozen Count 0 Target 4 Negotiation Settings User: 6.600MB/s transfers (16bit) Goal: 3.300MB/s transfers Curr: 3.300MB/s transfers Channel A Target 4 Lun 0 Settings Commands Queued 61 Commands Active 0 Command Openings 1 Max Tagged Openings 0 Device Queue Frozen Count 0 Target 5 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 6 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 7 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 8 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 9 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 10 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 11 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 12 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 13 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 14 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 15 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) $ cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 03 Lun: 00 Vendor: YAMAHA Model: CRW6416S Rev: 1.0b Type: CD-ROM ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 04 Lun: 00 Vendor: WANGTEK Model: 5525ES SCSI Rev: 73F Type: Sequential-Access ANSI SCSI revision: 02 /var/log/messages: kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 kernel: <Adaptec aic7890/91 Ultra2 SCSI adapter> kernel: aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs kernel: kernel: Vendor: YAMAHA Model: CRW6416S Rev: 1.0b kernel: Type: CD-ROM ANSI SCSI revision: 02 kernel: target0:0:3: Beginning Domain Validation kernel: target0:0:3: Domain Validation skipping write tests kernel: (scsi0:A:3): 10.000MB/s transfers (10.000MHz, offset 15) kernel: target0:0:3: Ending Domain Validation kernel: Vendor: WANGTEK Model: 5525ES SCSI Rev: 73F kernel: Type: Sequential-Access ANSI SCSI revision: 02 kernel: target0:0:4: Beginning Domain Validation kernel: target0:0:4: Domain Validation skipping write tests kernel: scsi0:0:4:0: Attempting to queue an ABORT message kernel: CDB: 0x12 0x0 0x0 0x0 0x2c 0x0 kernel: scsi0: At time of recovery, card was not paused kernel: >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< kernel: scsi0: Dumping Card State in Message-out phase, at SEQADDR 0x16e kernel: Card was paused kernel: ACCUM = 0xa0, SINDEX = 0x61, DINDEX = 0xe4, ARG_2 = 0x0 kernel: HCNT = 0x0 SCBPTR = 0x0 kernel: SCSISIGI[0xa4]:(BSYI|MSGI|CDI) ERROR[0x0] SCSIBUSL[0x7] kernel: LASTPHASE[0xa0]:(MSGI|CDI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) kernel: SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) kernel: SEQ_FLAGS[0x40]:(NO_CDB_SENT) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) kernel: SSTAT2[0x10]:(EXP_ACTIVE) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) kernel: SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) kernel: SXFRCTL0[0x88]:(SPIOEN|DFON) DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL) kernel: STACK: 0xe4 0x0 0x166 0x17c kernel: SCB count = 4 kernel: Kernel NEXTQSCB = 3 kernel: Card NEXTQSCB = 3 kernel: QINFIFO entries: kernel: Waiting Queue entries: kernel: Disconnected Queue entries: kernel: QOUTFIFO entries: kernel: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 kernel: Sequencer SCB Info: kernel: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x47] SCB_LUN[0x0] kernel: SCB_TAG[0x2] kernel: 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: Pending list: kernel: 2 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x47] SCB_LUN[0x0] kernel: Kernel Free SCB list: 1 0 kernel: Untagged Q(4): 2 kernel: kernel: <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> kernel: scsi0:0:4:0: Device is active, asserting ATN kernel: Recovery code sleeping kernel: Recovery code awake kernel: Timer Expired kernel: aic7xxx_abort returns 0x2003 kernel: scsi0:0:4:0: Attempting to queue a TARGET RESET message kernel: CDB: 0x12 0x0 0x0 0x0 0x2c 0x0 kernel: aic7xxx_dev_reset returns 0x2003 kernel: Recovery SCB completes kernel: target0:0:4: Domain Validation detected failure, dropping back kernel: scsi0:0:4:0: Attempting to queue an ABORT message kernel: CDB: 0x12 0x0 0x0 0x0 0x2c 0x0 kernel: scsi0: At time of recovery, card was not paused kernel: >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< kernel: scsi0: Dumping Card State in Message-out phase, at SEQADDR 0x16e kernel: Card was paused kernel: ACCUM = 0xa0, SINDEX = 0x61, DINDEX = 0xe4, ARG_2 = 0x0 kernel: HCNT = 0x0 SCBPTR = 0x0 kernel: SCSISIGI[0xa4]:(BSYI|MSGI|CDI) ERROR[0x0] SCSIBUSL[0x7] kernel: LASTPHASE[0xa0]:(MSGI|CDI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) kernel: SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) kernel: SEQ_FLAGS[0x40]:(NO_CDB_SENT) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) kernel: SSTAT2[0x10]:(EXP_ACTIVE) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) kernel: SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) kernel: SXFRCTL0[0x88]:(SPIOEN|DFON) DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL) kernel: STACK: 0xe4 0xe4 0x166 0x17c kernel: SCB count = 4 kernel: Kernel NEXTQSCB = 2 kernel: Card NEXTQSCB = 2 kernel: QINFIFO entries: kernel: Waiting Queue entries: kernel: Disconnected Queue entries: kernel: QOUTFIFO entries: kernel: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 kernel: Sequencer SCB Info: kernel: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x47] SCB_LUN[0x0] kernel: SCB_TAG[0x3] kernel: 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: Pending list: kernel: 3 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x47] SCB_LUN[0x0] kernel: Kernel Free SCB list: 1 0 kernel: Untagged Q(4): 3 kernel: kernel: <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> kernel: scsi0:0:4:0: Device is active, asserting ATN kernel: Recovery code sleeping kernel: Recovery code awake kernel: Timer Expired kernel: aic7xxx_abort returns 0x2003 kernel: scsi0:0:4:0: Attempting to queue a TARGET RESET message kernel: CDB: 0x12 0x0 0x0 0x0 0x2c 0x0 kernel: aic7xxx_dev_reset returns 0x2003 kernel: Recovery SCB completes kernel: target0:0:4: Domain Validation detected failure, dropping back kernel: scsi0:0:4:0: Attempting to queue an ABORT message kernel: CDB: 0x12 0x0 0x0 0x0 0x2c 0x0 kernel: scsi0: At time of recovery, card was not paused kernel: >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< kernel: scsi0: Dumping Card State in Message-out phase, at SEQADDR 0x16e kernel: Card was paused kernel: ACCUM = 0xa0, SINDEX = 0x61, DINDEX = 0xe4, ARG_2 = 0x0 kernel: HCNT = 0x0 SCBPTR = 0x0 kernel: SCSISIGI[0xa4]:(BSYI|MSGI|CDI) ERROR[0x0] SCSIBUSL[0x7] kernel: LASTPHASE[0xa0]:(MSGI|CDI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) kernel: SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) kernel: SEQ_FLAGS[0x40]:(NO_CDB_SENT) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) kernel: SSTAT2[0x10]:(EXP_ACTIVE) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) kernel: SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) kernel: SXFRCTL0[0x88]:(SPIOEN|DFON) DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL) kernel: STACK: 0xe4 0xe4 0x166 0x17c kernel: SCB count = 4 kernel: Kernel NEXTQSCB = 3 kernel: Card NEXTQSCB = 3 kernel: QINFIFO entries: kernel: Waiting Queue entries: kernel: Disconnected Queue entries: kernel: QOUTFIFO entries: kernel: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 kernel: Sequencer SCB Info: kernel: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x47] SCB_LUN[0x0] kernel: SCB_TAG[0x2] kernel: 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] kernel: Pending list: kernel: 2 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x47] SCB_LUN[0x0] kernel: Kernel Free SCB list: 1 0 kernel: Untagged Q(4): 2 kernel: kernel: <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> kernel: scsi0:0:4:0: Device is active, asserting ATN kernel: Recovery code sleeping kernel: Recovery code awake kernel: Timer Expired kernel: aic7xxx_abort returns 0x2003 -- Frank ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 21:42 ` What breaks aic7xxx in post 2.6.12-rc2 ? Frank van Maarseveen @ 2005-06-13 22:59 ` James Bottomley 2005-06-14 21:42 ` Frank van Maarseveen 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-06-13 22:59 UTC (permalink / raw) To: Frank van Maarseveen Cc: Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, 2005-06-13 at 23:42 +0200, Frank van Maarseveen wrote: > kernel: Vendor: WANGTEK Model: 5525ES SCSI Rev: 73F > kernel: Type: Sequential-Access ANSI SCSI > revision: 02 > kernel: target0:0:4: Beginning Domain Validation > kernel: target0:0:4: Domain Validation skipping write tests > kernel: scsi0:0:4:0: Attempting to queue an ABORT message The aic7xxx error handling is still very unreconstructed and DV takes the driver through this if there's a mismatch. My best guess is that like Gr\'egoir's CD-ROM, your wangtek is claiming to support a speed it cannot. We find this out in DV, but not until we've gone through all the error paths. The quick fix is simply to set the bios to whatever the tape eventually configures with (although you'll need the current patch set to make that work properly). James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-13 22:59 ` James Bottomley @ 2005-06-14 21:42 ` Frank van Maarseveen 2005-06-15 12:02 ` Frank van Maarseveen 0 siblings, 1 reply; 77+ messages in thread From: Frank van Maarseveen @ 2005-06-14 21:42 UTC (permalink / raw) To: James Bottomley Cc: Frank van Maarseveen, Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Mon, Jun 13, 2005 at 05:59:53PM -0500, James Bottomley wrote: > On Mon, 2005-06-13 at 23:42 +0200, Frank van Maarseveen wrote: > > kernel: Vendor: WANGTEK Model: 5525ES SCSI Rev: 73F > > kernel: Type: Sequential-Access ANSI SCSI > > revision: 02 > > kernel: target0:0:4: Beginning Domain Validation > > kernel: target0:0:4: Domain Validation skipping write tests > > kernel: scsi0:0:4:0: Attempting to queue an ABORT message > > The aic7xxx error handling is still very unreconstructed and DV takes > the driver through this if there's a mismatch. My best guess is that > like Gr\'egoir's CD-ROM, your wangtek is claiming to support a speed it > cannot. We find this out in DV, but not until we've gone through all > the error paths. The quick fix is simply to set the bios to whatever > the tape eventually configures with (although you'll need the current > patch set to make that work properly). Well, I can't seem to find the right collection of patches applying cleanly on 2.6.12-rc6 and the Adaptec BIOS says "ASYNC". It cannot go below 10MB/s and the tape unit can't go above 3.3 according to /proc/scsi/aic7xxx/0 I think: Target 4 Negotiation Settings User: 6.600MB/s transfers (16bit) Goal: 3.300MB/s transfers Curr: 3.300MB/s transfers Channel A Target 4 Lun 0 Settings Commands Queued 61 Commands Active 0 Command Openings 1 Max Tagged Openings 0 Device Queue Frozen Count 0 So, I'm kind of stuck with a very slow driver initialization. I think it takes much longer than the 30 seconds visible in the logfile, at least that's the impression I have (I'll use a stopwatch next time). -- Frank ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-14 21:42 ` Frank van Maarseveen @ 2005-06-15 12:02 ` Frank van Maarseveen 2005-06-15 14:14 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: Frank van Maarseveen @ 2005-06-15 12:02 UTC (permalink / raw) To: Frank van Maarseveen Cc: James Bottomley, Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Tue, Jun 14, 2005 at 11:42:26PM +0200, Frank van Maarseveen wrote: > > So, I'm kind of stuck with a very slow driver initialization. I think it > takes much longer than the 30 seconds visible in the logfile, at least > that's the impression I have (I'll use a stopwatch next time). The -rc6 aic7 driver needs just over 7 minutes to recover from this tape unit. In -rc3 this was 80 seconds. -rc2 had no problem. I don't really need this old tape unit and I don't [re-]boot that often so it is not a problem for me. Anyway, if something needs to be tested then mail me a patch (for stock rc6) and I'll try it. -- Frank ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-15 12:02 ` Frank van Maarseveen @ 2005-06-15 14:14 ` James Bottomley 2005-06-15 20:09 ` Frank van Maarseveen 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-06-15 14:14 UTC (permalink / raw) To: Frank van Maarseveen Cc: Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Wed, 2005-06-15 at 14:02 +0200, Frank van Maarseveen wrote: > The -rc6 aic7 driver needs just over 7 minutes to recover from this tape > unit. In -rc3 this was 80 seconds. -rc2 had no problem. > > I don't really need this old tape unit and I don't [re-]boot that often > so it is not a problem for me. Anyway, if something needs to be tested > then mail me a patch (for stock rc6) and I'll try it. Well, the patches to try are the scsi-misc ones: http://parisc-linux.org/~jejb/scsi_diffs/scsi-misc-2.6.diff James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-15 14:14 ` James Bottomley @ 2005-06-15 20:09 ` Frank van Maarseveen 2005-06-15 20:15 ` James Bottomley 2005-06-15 20:15 ` James Bottomley 0 siblings, 2 replies; 77+ messages in thread From: Frank van Maarseveen @ 2005-06-15 20:09 UTC (permalink / raw) To: James Bottomley Cc: Frank van Maarseveen, Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Wed, Jun 15, 2005 at 09:14:48AM -0500, James Bottomley wrote: > > http://parisc-linux.org/~jejb/scsi_diffs/scsi-misc-2.6.diff Not an improvement for me: now the driver goes into battle with my other SCSI device, a CD burner. It hangs completely during boot, no alt-sysrq-anything. Screen capture at hanging point, see http://www.frankvm.com/tmp/hang.jpg /proc/scsi info under 2.6.11-rc5 (it just happens to be the previous kernel I use): $ cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 03 Lun: 00 Vendor: YAMAHA Model: CRW6416S Rev: 1.0b Type: CD-ROM ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 04 Lun: 00 Vendor: WANGTEK Model: 5525ES SCSI Rev: 73F Type: Sequential-Access ANSI SCSI revision: 02 $ cat /proc/scsi/aic7xxx/0 Adaptec AIC7xxx driver version: 6.2.36 Adaptec aic7890/91 Ultra2 SCSI adapter aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs Allocated SCBs: 4, SG List Length: 128 Serial EEPROM: 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3b3 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0xc3bb 0x18a2 0x1c5e 0x2807 0x0010 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0xffff 0x98b4 Target 0 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 1 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 2 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 3 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Goal: 10.000MB/s transfers (10.000MHz, offset 15) Curr: 10.000MB/s transfers (10.000MHz, offset 15) Channel A Target 3 Lun 0 Settings Commands Queued 8 Commands Active 0 Command Openings 1 Max Tagged Openings 0 Device Queue Frozen Count 0 Target 4 Negotiation Settings User: 6.600MB/s transfers (16bit) Goal: 3.300MB/s transfers Curr: 3.300MB/s transfers Channel A Target 4 Lun 0 Settings Commands Queued 2 Commands Active 0 Command Openings 1 Max Tagged Openings 0 Device Queue Frozen Count 0 Target 5 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 6 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 7 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 8 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 9 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 10 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 11 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 12 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 13 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 14 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) Target 15 Negotiation Settings User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) -- Frank ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-15 20:09 ` Frank van Maarseveen @ 2005-06-15 20:15 ` James Bottomley 2005-06-15 20:15 ` James Bottomley 1 sibling, 0 replies; 77+ messages in thread From: James Bottomley @ 2005-06-15 20:15 UTC (permalink / raw) To: Frank van Maarseveen Cc: Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Wed, 2005-06-15 at 22:09 +0200, Frank van Maarseveen wrote: > Target 3 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Goal: 10.000MB/s transfers (10.000MHz, offset 15) > Curr: 10.000MB/s transfers (10.000MHz, offset 15) > Channel A Target 3 Lun 0 Settings > Commands Queued 8 > Commands Active 0 > Command Openings 1 > Max Tagged Openings 0 > Device Queue Frozen Count 0 > Target 4 Negotiation Settings > User: 6.600MB/s transfers (16bit) > Goal: 3.300MB/s transfers > Curr: 3.300MB/s transfers > Channel A Target 4 Lun 0 Settings > Commands Queued 2 > Commands Active 0 > Command Openings 1 > Max Tagged Openings 0 > Device Queue Frozen Count 0 > Target 5 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 6 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 7 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 8 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 9 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 10 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 11 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 12 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 13 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 14 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Target 15 Negotiation Settings > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-15 20:09 ` Frank van Maarseveen 2005-06-15 20:15 ` James Bottomley @ 2005-06-15 20:15 ` James Bottomley 2005-06-15 20:49 ` Frank van Maarseveen 1 sibling, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-06-15 20:15 UTC (permalink / raw) To: Frank van Maarseveen Cc: Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Wed, 2005-06-15 at 22:09 +0200, Frank van Maarseveen wrote: > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > Goal: 10.000MB/s transfers (10.000MHz, offset 15) > Curr: 10.000MB/s transfers (10.000MHz, offset 15) This would be why ... you need to set you bios to 10MHz narrow (it's currently set to 40MHz wide). James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-06-15 20:15 ` James Bottomley @ 2005-06-15 20:49 ` Frank van Maarseveen 0 siblings, 0 replies; 77+ messages in thread From: Frank van Maarseveen @ 2005-06-15 20:49 UTC (permalink / raw) To: James Bottomley Cc: Frank van Maarseveen, Gr?goire Favre, dino, Andrew Morton, SCSI Mailing List, Linux Kernel On Wed, Jun 15, 2005 at 03:15:46PM -0500, James Bottomley wrote: > On Wed, 2005-06-15 at 22:09 +0200, Frank van Maarseveen wrote: > > User: 80.000MB/s transfers (40.000MHz, offset 127, 16bit) > > Goal: 10.000MB/s transfers (10.000MHz, offset 15) > > Curr: 10.000MB/s transfers (10.000MHz, offset 15) > > This would be why ... you need to set you bios to 10MHz narrow (it's > currently set to 40MHz wide). No luck doing so. I tried 10MB, 5MB(8 bit), booting UP (I have a dual PIII 450), it doesn't really seem to make any difference. I've set the aic BIOS back to über speed (80MB, wide negotiation) everywhere and booted 2.6.11-rc5 again: Jun 15 22:43:00 iapetus kernel: Uniform CD-ROM driver Revision: 3.20 Jun 15 22:43:00 iapetus kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 Jun 15 22:43:00 iapetus kernel: <Adaptec aic7890/91 Ultra2 SCSI adapter> Jun 15 22:43:00 iapetus kernel: aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs Jun 15 22:43:00 iapetus kernel: Jun 15 22:43:00 iapetus kernel: (scsi0:A:3): 10.000MB/s transfers (10.000MHz, offset 15) Jun 15 22:43:00 iapetus kernel: Vendor: YAMAHA Model: CRW6416S Rev: 1.0b Jun 15 22:43:00 iapetus kernel: Type: CD-ROM ANSI SCSI revision: 02 Jun 15 22:43:00 iapetus kernel: scsi0:0:4:0: Attempting to queue an ABORT message Jun 15 22:43:00 iapetus kernel: CDB: 0x12 0x0 0x0 0x0 0x24 0x0 Jun 15 22:43:00 iapetus kernel: scsi0: At time of recovery, card was not paused Jun 15 22:43:00 iapetus kernel: >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< Jun 15 22:43:00 iapetus kernel: scsi0: Dumping Card State in Message-out phase, at SEQADDR 0x16e Jun 15 22:43:00 iapetus kernel: Card was paused Jun 15 22:43:00 iapetus kernel: ACCUM = 0xa0, SINDEX = 0x61, DINDEX = 0xe4, ARG_2 = 0x0 Jun 15 22:43:00 iapetus kernel: HCNT = 0x0 SCBPTR = 0x0 Jun 15 22:43:00 iapetus kernel: SCSISIGI[0xa4]:(BSYI|MSGI|CDI) ERROR[0x0] SCSIBUSL[0x7] Jun 15 22:43:00 iapetus kernel: LASTPHASE[0xa0]:(MSGI|CDI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) Jun 15 22:43:01 iapetus kernel: SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) Jun 15 22:43:01 iapetus kernel: SEQ_FLAGS[0x40]:(NO_CDB_SENT) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) Jun 15 22:43:01 iapetus kernel: SSTAT2[0x10]:(EXP_ACTIVE) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) Jun 15 22:43:01 iapetus kernel: SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) Jun 15 22:43:01 iapetus kernel: SXFRCTL0[0x88]:(SPIOEN|DFON) DFCNTRL[0x0] DFSTATUS[0x89]:(FIFOEMP|HDONE|PRELOAD_AVAIL) Jun 15 22:43:01 iapetus kernel: STACK: 0xe4 0x0 0x166 0x17c Jun 15 22:43:01 iapetus kernel: SCB count = 4 Jun 15 22:43:01 iapetus kernel: Kernel NEXTQSCB = 2 Jun 15 22:43:01 iapetus kernel: Card NEXTQSCB = 2 Jun 15 22:43:01 iapetus kernel: QINFIFO entries: Jun 15 22:43:01 iapetus kernel: Waiting Queue entries: Jun 15 22:43:01 iapetus kernel: Disconnected Queue entries: Jun 15 22:43:01 iapetus kernel: QOUTFIFO entries: Jun 15 22:43:01 iapetus kernel: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Jun 15 22:43:01 iapetus kernel: Sequencer SCB Info: Jun 15 22:43:01 iapetus kernel: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x47] SCB_LUN[0x0] Jun 15 22:43:01 iapetus kernel: SCB_TAG[0x3] Jun 15 22:43:01 iapetus kernel: 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) Jun 15 22:43:01 iapetus kernel: SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Jun 15 22:43:01 iapetus kernel: Pending list: Jun 15 22:43:01 iapetus kernel: 3 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0x47] SCB_LUN[0x0] Jun 15 22:43:02 iapetus kernel: Kernel Free SCB list: 1 0 Jun 15 22:43:02 iapetus kernel: Untagged Q(4): 3 Jun 15 22:43:02 iapetus kernel: DevQ(0:3:0): 0 waiting Jun 15 22:43:02 iapetus kernel: DevQ(0:4:0): 0 waiting Jun 15 22:43:02 iapetus kernel: Jun 15 22:43:02 iapetus kernel: <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> Jun 15 22:43:02 iapetus kernel: scsi0:0:4:0: Device is active, asserting ATN Jun 15 22:43:02 iapetus kernel: Recovery code sleeping Jun 15 22:43:02 iapetus kernel: Recovery code awake Jun 15 22:43:02 iapetus kernel: Timer Expired Jun 15 22:43:02 iapetus kernel: aic7xxx_abort returns 0x2003 Jun 15 22:43:02 iapetus kernel: scsi0:0:4:0: Attempting to queue a TARGET RESET message Jun 15 22:43:02 iapetus kernel: CDB: 0x12 0x0 0x0 0x0 0x24 0x0 Jun 15 22:43:02 iapetus kernel: aic7xxx_dev_reset returns 0x2003 Jun 15 22:43:02 iapetus kernel: Recovery SCB completes Jun 15 22:43:02 iapetus kernel: Vendor: WANGTEK Model: 5525ES SCSI Rev: 73F Jun 15 22:43:02 iapetus kernel: Type: Sequential-Access ANSI SCSI revision: 02 Jun 15 22:43:02 iapetus kernel: st: Version 20041025, fixed bufsize 32768, s/g segs 256 Jun 15 22:43:02 iapetus kernel: Attached scsi tape st0 at scsi0, channel 0, id 4, lun 0 Jun 15 22:43:02 iapetus kernel: st0: try direct i/o: yes (alignment 512 B), max page reachable by HBA 1048575 Jun 15 22:43:02 iapetus kernel: sr0: scsi3-mmc drive: 16x/16x writer cd/rw xa/form2 cdda tray Jun 15 22:43:02 iapetus kernel: Attached scsi generic sg0 at scsi0, channel 0, id 3, lun 0, type 5 Jun 15 22:43:02 iapetus kernel: Attached scsi generic sg1 at scsi0, channel 0, id 4, lun 0, type 1 so no real problem here. -- Frank ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 18:34 ` James Bottomley 2005-05-17 19:26 ` Grégoire Favre @ 2005-05-18 9:07 ` Dinakar Guniguntala 2005-05-18 14:12 ` James Bottomley 2005-05-19 3:07 ` K.R. Foley 2 siblings, 1 reply; 77+ messages in thread From: Dinakar Guniguntala @ 2005-05-18 9:07 UTC (permalink / raw) To: James Bottomley Cc: Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Tue, May 17, 2005 at 01:34:53PM -0500, James Bottomley wrote: > The root cause, I think, is that the aic7xxx isn't starting out at async > narrow for the first inquiry (because the original DV code I removed did > this, and I didn't add an equivalent back). The latest aic7xxx patch > should sort this out. > > So, to get all of these changes, could you start with vanilla linus > kernel 2.6.12-rc4 (or tree based on this, but not -mm which already has > some of the SCSI tree included) and then apply the SCSI patch at > > http://parisc-linux.org/~jejb/scsi_diffs/scsi-misc-2.6.diff > > and see if it works? It works !! Thanks. So are these patches getting into -mm first or -rc5 ?? -Dinakar ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-18 9:07 ` Dinakar Guniguntala @ 2005-05-18 14:12 ` James Bottomley 2005-05-18 14:40 ` Dinakar Guniguntala 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-18 14:12 UTC (permalink / raw) To: dino; +Cc: Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Wed, 2005-05-18 at 14:37 +0530, Dinakar Guniguntala wrote: > It works !! Thanks. > > So are these patches getting into -mm first or -rc5 ?? Damn, I knew you were going to ask that ... the problem is it's the last in a long line of invasive adaptec patches that sit in my scsi-misc-2.6 tree ... I suppose we can't have the aic driver slightly hosed for 2.6.12; I'll see if I can extract them. James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-18 14:12 ` James Bottomley @ 2005-05-18 14:40 ` Dinakar Guniguntala 0 siblings, 0 replies; 77+ messages in thread From: Dinakar Guniguntala @ 2005-05-18 14:40 UTC (permalink / raw) To: James Bottomley Cc: Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Wed, May 18, 2005 at 09:12:39AM -0500, James Bottomley wrote: > > > > So are these patches getting into -mm first or -rc5 ?? > > Damn, I knew you were going to ask that ... the problem is it's the last > in a long line of invasive adaptec patches that sit in my scsi-misc-2.6 > tree ... I suppose we can't have the aic driver slightly hosed for > 2.6.12; I'll see if I can extract them. > You actually thought you could get away with that ?? :) Seriously, scsi takes a long time to boot even normally, but with this bug, it takes forever and a few more retries before it finally boots up. I would really appreciate if you could extract and send them upstream, Thanks -Dinakar ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-17 18:34 ` James Bottomley 2005-05-17 19:26 ` Grégoire Favre 2005-05-18 9:07 ` Dinakar Guniguntala @ 2005-05-19 3:07 ` K.R. Foley 2005-05-19 4:23 ` James Bottomley 2 siblings, 1 reply; 77+ messages in thread From: K.R. Foley @ 2005-05-19 3:07 UTC (permalink / raw) To: James Bottomley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List James Bottomley wrote: > On Tue, 2005-05-17 at 22:38 +0530, Dinakar Guniguntala wrote: > >>May 9 12:03:32 llm09 kernel: Vendor: IBM CORP Model: GEM312 V002 Rev: 4.1b >>May 9 12:03:32 llm09 kernel: Type: Processor ANSI SCSI revision: 02 > > > OK, that's roughly what I was expecting. These processor chips tend to > be rather basic when it comes to rates and widths. > > The root cause, I think, is that the aic7xxx isn't starting out at async > narrow for the first inquiry (because the original DV code I removed did > this, and I didn't add an equivalent back). The latest aic7xxx patch > should sort this out. > > So, to get all of these changes, could you start with vanilla linus > kernel 2.6.12-rc4 (or tree based on this, but not -mm which already has > some of the SCSI tree included) and then apply the SCSI patch at > > http://parisc-linux.org/~jejb/scsi_diffs/scsi-misc-2.6.diff > > and see if it works? > > Thanks, > > James > James, This also solves my problem that I reported in this thread http://marc.theaimsgroup.com/?l=linux-scsi&m=111422854418964&w=2 -- kr ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-19 3:07 ` K.R. Foley @ 2005-05-19 4:23 ` James Bottomley 2005-05-19 9:51 ` Dinakar Guniguntala 2005-05-19 11:27 ` K.R. Foley 0 siblings, 2 replies; 77+ messages in thread From: James Bottomley @ 2005-05-19 4:23 UTC (permalink / raw) To: K.R. Foley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Wed, 2005-05-18 at 22:07 -0500, K.R. Foley wrote: > This also solves my problem that I reported in this thread > http://marc.theaimsgroup.com/?l=linux-scsi&m=111422854418964&w=2 OK, I think the patch below is the extract of this. Could you see if it works by simply patching vanilla 2.6.12-rc4 with no other SCSI patches (if it does, I'll push it for 2.6.12 final). James --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -2300,6 +2300,30 @@ ahc_linux_alloc_target(struct ahc_softc targ->target = target; targ->ahc = ahc; ahc->platform_data->targets[target_offset] = targ; + + /* FIXME: This code is just for a bug workaround in 2.6.12 + * The correct fix will be in 2.6.13 */ + { + struct ahc_devinfo devinfo; + struct ahc_initiator_tinfo *tinfo; + struct ahc_tmode_tstate *tstate; + char my_channel = channel + 'A'; + unsigned int our_id = ahc->our_id; + + if (channel) + our_id = ahc->our_id_b; + + tinfo = ahc_fetch_transinfo(ahc, my_channel, ahc->our_id, + targ->target, &tstate); + ahc_compile_devinfo(&devinfo, our_id, targ->target, + CAM_LUN_WILDCARD, my_channel, + ROLE_INITIATOR); + ahc_set_syncrate(ahc, &devinfo, NULL, 0, 0, 0, + AHC_TRANS_GOAL, /*paused*/FALSE); + ahc_set_width(ahc, &devinfo, MSG_EXT_WDTR_BUS_8_BIT, + AHC_TRANS_GOAL, /*paused*/FALSE); + } + return (targ); } ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-19 4:23 ` James Bottomley @ 2005-05-19 9:51 ` Dinakar Guniguntala 2005-05-19 23:56 ` James Bottomley 2005-05-19 11:27 ` K.R. Foley 1 sibling, 1 reply; 77+ messages in thread From: Dinakar Guniguntala @ 2005-05-19 9:51 UTC (permalink / raw) To: James Bottomley Cc: K.R. Foley, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Wed, May 18, 2005 at 11:23:50PM -0500, James Bottomley wrote: > > OK, I think the patch below is the extract of this. Could you see if it > works by simply patching vanilla 2.6.12-rc4 with no other SCSI patches > (if it does, I'll push it for 2.6.12 final). > This doesn't seem to fix the problem :( I tried both 2.6.12-rc4+patch and 2.6.4-rc4-mm1+patch This is what I get =========================================================================== scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7896/97 Ultra2 SCSI adapter> aic7896/97: Ultra2 Wide Channel B, SCSI Id=7, 32/253 SCBs Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 Type: Direct-Access ANSI SCSI revision: 02 scsi0:A:0:0: Tagged Queuing enabled. Depth 32 target0:0:0: Beginning Domain Validation (scsi0:A:0): 6.600MB/s transfers (16bit) target0:0:0: Domain Validation skipping write tests (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:0: Ending Domain Validation Vendor: IBM-PSG Model: ST39103LC !# Rev: B227 Type: Direct-Access ANSI SCSI revision: 02 scsi0:A:1:0: Tagged Queuing enabled. Depth 32 target0:0:1: Beginning Domain Validation (scsi0:A:1): 6.600MB/s transfers (16bit) target0:0:1: Domain Validation skipping write tests (scsi0:A:1): 80.000MB/s transfers (40.000MHz, offset 15, 16bit) target0:0:1: Ending Domain Validation (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers scsi0:0:15:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x36 0x0 scsi0: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi0: Dumping Card State in Data-in phase, at SEQADDR 0x1a1 Card was paused ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0xe4, ARG_2 = 0x0 HCNT = 0x36 SCBPTR = 0x0 SCSISIGI[0x46]:(REQI|BSYI|IOI) ERROR[0x0] SCSIBUSL[0x3] LASTPHASE[0x40]:(IOI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) SEQ_FLAGS[0x20]:(DPHASE) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) SSTAT2[0x40]:(SHVALID) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) SXFRCTL0[0x80]:(DFON) DFCNTRL[0x28]:(HDMAEN|SCSIEN) DFSTATUS[0x80]:(PRELOAD_AVAIL) STACK: 0x83 0x0 0x160 0x176 SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Sequencer SCB Info: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] SCB_TAG[0x2] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(15): 2 DevQ(0:0:0): 0 waiting DevQ(0:1:0): 0 waiting DevQ(0:15:0): 0 waiting <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi0:0:15:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi0:0:15:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x36 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers scsi0:0:15:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x36 0x0 scsi0: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi0: Dumping Card State in Data-in phase, at SEQADDR 0x85 Card was paused ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0xe4, ARG_2 = 0x0 HCNT = 0x36 SCBPTR = 0x0 SCSISIGI[0x46]:(REQI|BSYI|IOI) ERROR[0x0] SCSIBUSL[0x3] LASTPHASE[0x40]:(IOI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) SEQ_FLAGS[0x20]:(DPHASE) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) SSTAT2[0x40]:(SHVALID) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) SXFRCTL0[0x80]:(DFON) DFCNTRL[0x28]:(HDMAEN|SCSIEN) DFSTATUS[0x80]:(PRELOAD_AVAIL) STACK: 0x83 0x160 0x176 0x83 SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Sequencer SCB Info: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(15): 3 DevQ(0:0:0): 0 waiting DevQ(0:1:0): 0 waiting DevQ(0:15:0): 0 waiting <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi0:0:15:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi0:0:15:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x36 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers scsi0:0:15:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x36 0x0 scsi0: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi0: Dumping Card State in Data-in phase, at SEQADDR 0x54 Card was paused ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0xe4, ARG_2 = 0x0 HCNT = 0x36 SCBPTR = 0x0 SCSISIGI[0x46]:(REQI|BSYI|IOI) ERROR[0x0] SCSIBUSL[0x3] LASTPHASE[0x40]:(IOI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) SEQ_FLAGS[0x20]:(DPHASE) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) SSTAT2[0x40]:(SHVALID) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) SXFRCTL0[0x80]:(DFON) DFCNTRL[0x28]:(HDMAEN|SCSIEN) DFSTATUS[0x80]:(PRELOAD_AVAIL) STACK: 0x83 0x83 0x160 0x176 SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Sequencer SCB Info: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] SCB_TAG[0x2] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(15): 2 DevQ(0:0:0): 0 waiting DevQ(0:1:0): 0 waiting DevQ(0:15:0): 0 waiting <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi0:0:15:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi0:0:15:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x36 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers scsi scan: 54 byte inquiry failed. Consider BLIST_INQUIRY_36 for this device (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers scsi0:0:15:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 scsi0: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi0: Dumping Card State in Data-in phase, at SEQADDR 0x84 Card was paused ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0xe4, ARG_2 = 0x0 HCNT = 0x24 SCBPTR = 0x0 SCSISIGI[0x46]:(REQI|BSYI|IOI) ERROR[0x0] SCSIBUSL[0x3] LASTPHASE[0x40]:(IOI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) SEQ_FLAGS[0x20]:(DPHASE) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) SSTAT2[0x40]:(SHVALID) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) SXFRCTL0[0x80]:(DFON) DFCNTRL[0x28]:(HDMAEN|SCSIEN) DFSTATUS[0x80]:(PRELOAD_AVAIL) STACK: 0x83 0x160 0x176 0x83 SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Sequencer SCB Info: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(15): 3 DevQ(0:0:0): 0 waiting DevQ(0:1:0): 0 waiting DevQ(0:15:0): 0 waiting <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi0:0:15:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi0:0:15:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers scsi0:0:15:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 scsi0: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi0: Dumping Card State in Data-in phase, at SEQADDR 0x54 Card was paused ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0xe4, ARG_2 = 0x0 HCNT = 0x24 SCBPTR = 0x0 SCSISIGI[0x46]:(REQI|BSYI|IOI) ERROR[0x0] SCSIBUSL[0x3] LASTPHASE[0x40]:(IOI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) SEQ_FLAGS[0x20]:(DPHASE) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) SSTAT2[0x40]:(SHVALID) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) SXFRCTL0[0x80]:(DFON) DFCNTRL[0x28]:(HDMAEN|SCSIEN) DFSTATUS[0x80]:(PRELOAD_AVAIL) STACK: 0x83 0x83 0x160 0x176 SCB count = 4 Kernel NEXTQSCB = 3 Card NEXTQSCB = 3 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Sequencer SCB Info: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] SCB_TAG[0x2] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Pending list: 2 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(15): 2 DevQ(0:0:0): 0 waiting DevQ(0:1:0): 0 waiting DevQ(0:15:0): 0 waiting <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi0:0:15:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi0:0:15:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers scsi0:0:15:0: Attempting to queue an ABORT message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 scsi0: At time of recovery, card was not paused >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<< scsi0: Dumping Card State in Data-in phase, at SEQADDR 0x54 Card was paused ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0xe4, ARG_2 = 0x0 HCNT = 0x24 SCBPTR = 0x0 SCSISIGI[0x46]:(REQI|BSYI|IOI) ERROR[0x0] SCSIBUSL[0x3] LASTPHASE[0x40]:(IOI) SCSISEQ[0x12]:(ENAUTOATNP|ENRSELI) SBLKCTL[0xa]:(SELWIDE|SELBUSB) SCSIRATE[0x0] SEQCTL[0x10]:(FASTMODE) SEQ_FLAGS[0x20]:(DPHASE) SSTAT0[0x0] SSTAT1[0x2]:(PHASECHG) SSTAT2[0x40]:(SHVALID) SSTAT3[0x0] SIMODE0[0x8]:(ENSWRAP) SIMODE1[0xac]:(ENSCSIPERR|ENBUSFREE|ENSCSIRST|ENSELTIMO) SXFRCTL0[0x80]:(DFON) DFCNTRL[0x28]:(HDMAEN|SCSIEN) DFSTATUS[0x80]:(PRELOAD_AVAIL) STACK: 0x83 0x83 0x160 0x176 SCB count = 4 Kernel NEXTQSCB = 2 Card NEXTQSCB = 2 QINFIFO entries: Waiting Queue entries: Disconnected Queue entries: QOUTFIFO entries: Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Sequencer SCB Info: 0 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] SCB_TAG[0x3] 1 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 2 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 3 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 4 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 5 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 6 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 7 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 8 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 9 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff]:(TWIN_CHNLB|OID|TWIN_TID) SCB_LUN[0xff]:(SCB_XFERLEN_ODD|LID) SCB_TAG[0xff] Pending list: 3 SCB_CONTROL[0x40]:(DISCENB) SCB_SCSIID[0xf7]:(TWIN_CHNLB|TWIN_TID) SCB_LUN[0x0] Kernel Free SCB list: 1 0 Untagged Q(15): 3 DevQ(0:0:0): 0 waiting DevQ(0:1:0): 0 waiting DevQ(0:15:0): 0 waiting <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>> scsi0:0:15:0: Device is active, asserting ATN Recovery code sleeping Recovery code awake Timer Expired aic7xxx_abort returns 0x2003 scsi0:0:15:0: Attempting to queue a TARGET RESET message CDB: 0x12 0x0 0x0 0x0 0x24 0x0 aic7xxx_dev_reset returns 0x2003 Recovery SCB completes (scsi0:A:15:0): refuses WIDE negotiation. Using 8bit transfers scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 <Adaptec aic7896/97 Ultra2 SCSI adapter> aic7896/97: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs SCSI device sda: 17774160 512-byte hdwr sectors (9100 MB) SCSI device sda: drive cache: write through SCSI device sda: 17774160 512-byte hdwr sectors (9100 MB) SCSI device sda: drive cache: write through sda: sda1 sda2 sda3 Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sdb: 17774160 512-byte hdwr sectors (9100 MB) SCSI device sdb: drive cache: write through SCSI device sdb: 17774160 512-byte hdwr sectors (9100 MB) SCSI device sdb: drive cache: write through sdb: sdb1 Attached scsi disk sdb at scsi0, channel 0, id 1, 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 0 =========================================================================== ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-19 9:51 ` Dinakar Guniguntala @ 2005-05-19 23:56 ` James Bottomley 2005-05-20 1:05 ` K.R. Foley 2005-05-20 10:09 ` Dinakar Guniguntala 0 siblings, 2 replies; 77+ messages in thread From: James Bottomley @ 2005-05-19 23:56 UTC (permalink / raw) To: dino Cc: K.R. Foley, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Thu, 2005-05-19 at 15:21 +0530, Dinakar Guniguntala wrote: > This doesn't seem to fix the problem :( > I tried both 2.6.12-rc4+patch and 2.6.4-rc4-mm1+patch Well ... great, it doesn't work for anyone, sigh. OK, could you try this one (also against vanilla 2.6.12-rc4). Hopefully it's a rollup of all the aic7xxx changes plus the necessary supporting infrastructure in my scsi-misc tree. If it works, trying to get it into a patch set for Linus is going to be a right pain ... James --- a/drivers/scsi/aic7xxx/aic7770_osm.c +++ b/drivers/scsi/aic7xxx/aic7770_osm.c @@ -41,7 +41,6 @@ #include "aic7xxx_osm.h" -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) #include <linux/device.h> #include <linux/eisa.h> @@ -62,13 +61,6 @@ static struct eisa_driver aic7770_driver }; typedef struct device *aic7770_dev_t; -#else -#define MINSLOT 1 -#define NUMSLOTS 16 -#define IDOFFSET 0x80 - -typedef void *aic7770_dev_t; -#endif static int aic7770_linux_config(struct aic7770_identity *entry, aic7770_dev_t dev, u_int eisaBase); @@ -76,7 +68,6 @@ static int aic7770_linux_config(struct a int ahc_linux_eisa_init(void) { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) struct eisa_device_id *eid; struct aic7770_identity *id; int i; @@ -110,44 +101,6 @@ ahc_linux_eisa_init(void) eid->sig[0] = 0; return eisa_driver_register(&aic7770_driver); -#else /* LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) */ - struct aic7770_identity *entry; - u_int slot; - u_int eisaBase; - u_int i; - int ret = -ENODEV; - - if (aic7xxx_probe_eisa_vl == 0) - return ret; - - eisaBase = 0x1000 + AHC_EISA_SLOT_OFFSET; - for (slot = 1; slot < NUMSLOTS; eisaBase+=0x1000, slot++) { - uint32_t eisa_id; - size_t id_size; - - if (request_region(eisaBase, AHC_EISA_IOSIZE, "aic7xxx") == 0) - continue; - - eisa_id = 0; - id_size = sizeof(eisa_id); - for (i = 0; i < 4; i++) { - /* VLcards require priming*/ - outb(0x80 + i, eisaBase + IDOFFSET); - eisa_id |= inb(eisaBase + IDOFFSET + i) - << ((id_size-i-1) * 8); - } - release_region(eisaBase, AHC_EISA_IOSIZE); - if (eisa_id & 0x80000000) - continue; /* no EISA card in slot */ - - entry = aic7770_find_device(eisa_id); - if (entry != NULL) { - aic7770_linux_config(entry, NULL, eisaBase); - ret = 0; - } - } - return ret; -#endif } void @@ -187,11 +140,10 @@ aic7770_linux_config(struct aic7770_iden ahc_free(ahc); return (error); } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) + dev->driver_data = (void *)ahc; if (aic7xxx_detect_complete) error = ahc_linux_register_host(ahc, &aic7xxx_driver_template); -#endif return (error); } @@ -225,7 +177,6 @@ aic7770_map_int(struct ahc_softc *ahc, u return (-error); } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) static int aic7770_eisa_dev_probe(struct device *dev) { @@ -261,4 +212,3 @@ aic7770_eisa_dev_remove(struct device *d return (0); } -#endif --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -134,11 +134,6 @@ static struct scsi_transport_template *a #include "aiclib.c" #include <linux/init.h> /* __setup */ - -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) -#include "sd.h" /* For geometry detection */ -#endif - #include <linux/mm.h> /* For fetching system memory size */ #include <linux/blkdev.h> /* For block_size() */ #include <linux/delay.h> /* For ssleep/msleep */ @@ -148,11 +143,6 @@ static struct scsi_transport_template *a */ spinlock_t ahc_list_spinlock; -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) -/* For dynamic sglist size calculation. */ -u_int ahc_linux_nseg; -#endif - /* * Set this to the delay in seconds after SCSI bus reset. * Note, we honor this only for the initial bus reset. @@ -436,15 +426,12 @@ static void ahc_linux_handle_scsi_status struct ahc_linux_device *, struct scb *); static void ahc_linux_queue_cmd_complete(struct ahc_softc *ahc, - Scsi_Cmnd *cmd); + struct scsi_cmnd *cmd); static void ahc_linux_sem_timeout(u_long arg); static void ahc_linux_freeze_simq(struct ahc_softc *ahc); static void ahc_linux_release_simq(u_long arg); -static void ahc_linux_dev_timed_unfreeze(u_long arg); -static int ahc_linux_queue_recovery_cmd(Scsi_Cmnd *cmd, scb_flag flag); +static int ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag); static void ahc_linux_initialize_scsi_bus(struct ahc_softc *ahc); -static void ahc_linux_size_nseg(void); -static void ahc_linux_thread_run_complete_queue(struct ahc_softc *ahc); static u_int ahc_linux_user_tagdepth(struct ahc_softc *ahc, struct ahc_devinfo *devinfo); static void ahc_linux_device_queue_depth(struct ahc_softc *ahc, @@ -458,54 +445,27 @@ static struct ahc_linux_device* ahc_linu u_int); static void ahc_linux_free_device(struct ahc_softc*, struct ahc_linux_device*); -static void ahc_linux_run_device_queue(struct ahc_softc*, - struct ahc_linux_device*); +static int ahc_linux_run_command(struct ahc_softc*, + struct ahc_linux_device *, + struct scsi_cmnd *); static void ahc_linux_setup_tag_info_global(char *p); static aic_option_callback_t ahc_linux_setup_tag_info; static int aic7xxx_setup(char *s); static int ahc_linux_next_unit(void); -static void ahc_runq_tasklet(unsigned long data); -static struct ahc_cmd *ahc_linux_run_complete_queue(struct ahc_softc *ahc); /********************************* Inlines ************************************/ -static __inline void ahc_schedule_runq(struct ahc_softc *ahc); static __inline struct ahc_linux_device* ahc_linux_get_device(struct ahc_softc *ahc, u_int channel, - u_int target, u_int lun, int alloc); -static __inline void ahc_schedule_completeq(struct ahc_softc *ahc); -static __inline void ahc_linux_check_device_queue(struct ahc_softc *ahc, - struct ahc_linux_device *dev); -static __inline struct ahc_linux_device * - ahc_linux_next_device_to_run(struct ahc_softc *ahc); -static __inline void ahc_linux_run_device_queues(struct ahc_softc *ahc); + u_int target, u_int lun); static __inline void ahc_linux_unmap_scb(struct ahc_softc*, struct scb*); static __inline int ahc_linux_map_seg(struct ahc_softc *ahc, struct scb *scb, struct ahc_dma_seg *sg, dma_addr_t addr, bus_size_t len); -static __inline void -ahc_schedule_completeq(struct ahc_softc *ahc) -{ - if ((ahc->platform_data->flags & AHC_RUN_CMPLT_Q_TIMER) == 0) { - ahc->platform_data->flags |= AHC_RUN_CMPLT_Q_TIMER; - ahc->platform_data->completeq_timer.expires = jiffies; - add_timer(&ahc->platform_data->completeq_timer); - } -} - -/* - * Must be called with our lock held. - */ -static __inline void -ahc_schedule_runq(struct ahc_softc *ahc) -{ - tasklet_schedule(&ahc->platform_data->runq_tasklet); -} - static __inline struct ahc_linux_device* ahc_linux_get_device(struct ahc_softc *ahc, u_int channel, u_int target, - u_int lun, int alloc) + u_int lun) { struct ahc_linux_target *targ; struct ahc_linux_device *dev; @@ -515,102 +475,15 @@ ahc_linux_get_device(struct ahc_softc *a if (channel != 0) target_offset += 8; targ = ahc->platform_data->targets[target_offset]; - if (targ == NULL) { - if (alloc != 0) { - targ = ahc_linux_alloc_target(ahc, channel, target); - if (targ == NULL) - return (NULL); - } else - return (NULL); - } + BUG_ON(targ == NULL); dev = targ->devices[lun]; - if (dev == NULL && alloc != 0) - dev = ahc_linux_alloc_device(ahc, targ, lun); - return (dev); -} - -#define AHC_LINUX_MAX_RETURNED_ERRORS 4 -static struct ahc_cmd * -ahc_linux_run_complete_queue(struct ahc_softc *ahc) -{ - struct ahc_cmd *acmd; - u_long done_flags; - int with_errors; - - with_errors = 0; - ahc_done_lock(ahc, &done_flags); - while ((acmd = TAILQ_FIRST(&ahc->platform_data->completeq)) != NULL) { - Scsi_Cmnd *cmd; - - if (with_errors > AHC_LINUX_MAX_RETURNED_ERRORS) { - /* - * Linux uses stack recursion to requeue - * commands that need to be retried. Avoid - * blowing out the stack by "spoon feeding" - * commands that completed with error back - * the operating system in case they are going - * to be retried. "ick" - */ - ahc_schedule_completeq(ahc); - break; - } - TAILQ_REMOVE(&ahc->platform_data->completeq, - acmd, acmd_links.tqe); - cmd = &acmd_scsi_cmd(acmd); - cmd->host_scribble = NULL; - if (ahc_cmd_get_transaction_status(cmd) != DID_OK - || (cmd->result & 0xFF) != SCSI_STATUS_OK) - with_errors++; - - cmd->scsi_done(cmd); - } - ahc_done_unlock(ahc, &done_flags); - return (acmd); -} - -static __inline void -ahc_linux_check_device_queue(struct ahc_softc *ahc, - struct ahc_linux_device *dev) -{ - if ((dev->flags & AHC_DEV_FREEZE_TIL_EMPTY) != 0 - && dev->active == 0) { - dev->flags &= ~AHC_DEV_FREEZE_TIL_EMPTY; - dev->qfrozen--; - } - - if (TAILQ_FIRST(&dev->busyq) == NULL - || dev->openings == 0 || dev->qfrozen != 0) - return; - - ahc_linux_run_device_queue(ahc, dev); -} - -static __inline struct ahc_linux_device * -ahc_linux_next_device_to_run(struct ahc_softc *ahc) -{ - - if ((ahc->flags & AHC_RESOURCE_SHORTAGE) != 0 - || (ahc->platform_data->qfrozen != 0)) - return (NULL); - return (TAILQ_FIRST(&ahc->platform_data->device_runq)); -} - -static __inline void -ahc_linux_run_device_queues(struct ahc_softc *ahc) -{ - struct ahc_linux_device *dev; - - while ((dev = ahc_linux_next_device_to_run(ahc)) != NULL) { - TAILQ_REMOVE(&ahc->platform_data->device_runq, dev, links); - dev->flags &= ~AHC_DEV_ON_RUN_LIST; - ahc_linux_check_device_queue(ahc, dev); - } + return dev; } static __inline void ahc_linux_unmap_scb(struct ahc_softc *ahc, struct scb *scb) { - Scsi_Cmnd *cmd; + struct scsi_cmnd *cmd; cmd = scb->io_ctx; ahc_sync_sglist(ahc, scb, BUS_DMASYNC_POSTWRITE); @@ -650,109 +523,15 @@ ahc_linux_map_seg(struct ahc_softc *ahc, return (consumed); } -/************************ Host template entry points *************************/ -static int ahc_linux_detect(Scsi_Host_Template *); -static int ahc_linux_queue(Scsi_Cmnd *, void (*)(Scsi_Cmnd *)); -static const char *ahc_linux_info(struct Scsi_Host *); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) -static int ahc_linux_slave_alloc(Scsi_Device *); -static int ahc_linux_slave_configure(Scsi_Device *); -static void ahc_linux_slave_destroy(Scsi_Device *); -#if defined(__i386__) -static int ahc_linux_biosparam(struct scsi_device*, - struct block_device*, - sector_t, int[]); -#endif -#else -static int ahc_linux_release(struct Scsi_Host *); -static void ahc_linux_select_queue_depth(struct Scsi_Host *host, - Scsi_Device *scsi_devs); -#if defined(__i386__) -static int ahc_linux_biosparam(Disk *, kdev_t, int[]); -#endif -#endif -static int ahc_linux_bus_reset(Scsi_Cmnd *); -static int ahc_linux_dev_reset(Scsi_Cmnd *); -static int ahc_linux_abort(Scsi_Cmnd *); - -/* - * Calculate a safe value for AHC_NSEG (as expressed through ahc_linux_nseg). - * - * In pre-2.5.X... - * The midlayer allocates an S/G array dynamically when a command is issued - * using SCSI malloc. This array, which is in an OS dependent format that - * must later be copied to our private S/G list, is sized to house just the - * number of segments needed for the current transfer. Since the code that - * sizes the SCSI malloc pool does not take into consideration fragmentation - * of the pool, executing transactions numbering just a fraction of our - * concurrent transaction limit with list lengths aproaching AHC_NSEG will - * quickly depleat the SCSI malloc pool of usable space. Unfortunately, the - * mid-layer does not properly handle this scsi malloc failures for the S/G - * array and the result can be a lockup of the I/O subsystem. We try to size - * our S/G list so that it satisfies our drivers allocation requirements in - * addition to avoiding fragmentation of the SCSI malloc pool. - */ -static void -ahc_linux_size_nseg(void) -{ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) - u_int cur_size; - u_int best_size; - - /* - * The SCSI allocator rounds to the nearest 512 bytes - * an cannot allocate across a page boundary. Our algorithm - * is to start at 1K of scsi malloc space per-command and - * loop through all factors of the PAGE_SIZE and pick the best. - */ - best_size = 0; - for (cur_size = 1024; cur_size <= PAGE_SIZE; cur_size *= 2) { - u_int nseg; - - nseg = cur_size / sizeof(struct scatterlist); - if (nseg < AHC_LINUX_MIN_NSEG) - continue; - - if (best_size == 0) { - best_size = cur_size; - ahc_linux_nseg = nseg; - } else { - u_int best_rem; - u_int cur_rem; - - /* - * Compare the traits of the current "best_size" - * with the current size to determine if the - * current size is a better size. - */ - best_rem = best_size % sizeof(struct scatterlist); - cur_rem = cur_size % sizeof(struct scatterlist); - if (cur_rem < best_rem) { - best_size = cur_size; - ahc_linux_nseg = nseg; - } - } - } -#endif -} - /* * Try to detect an Adaptec 7XXX controller. */ static int -ahc_linux_detect(Scsi_Host_Template *template) +ahc_linux_detect(struct scsi_host_template *template) { struct ahc_softc *ahc; int found = 0; -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) - /* - * It is a bug that the upper layer takes - * this lock just prior to calling us. - */ - spin_unlock_irq(&io_request_lock); -#endif - /* * Sanity checking of Linux SCSI data structures so * that some of our hacks^H^H^H^H^Hassumptions aren't @@ -764,7 +543,6 @@ ahc_linux_detect(Scsi_Host_Template *tem printf("ahc_linux_detect: Unable to attach\n"); return (0); } - ahc_linux_size_nseg(); /* * If we've been passed any parameters, process them now. */ @@ -793,48 +571,11 @@ ahc_linux_detect(Scsi_Host_Template *tem found++; } -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) - spin_lock_irq(&io_request_lock); -#endif aic7xxx_detect_complete++; return (found); } -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) -/* - * Free the passed in Scsi_Host memory structures prior to unloading the - * module. - */ -int -ahc_linux_release(struct Scsi_Host * host) -{ - struct ahc_softc *ahc; - u_long l; - - ahc_list_lock(&l); - if (host != NULL) { - - /* - * We should be able to just perform - * the free directly, but check our - * list for extra sanity. - */ - ahc = ahc_find_softc(*(struct ahc_softc **)host->hostdata); - if (ahc != NULL) { - u_long s; - - ahc_lock(ahc, &s); - ahc_intr_enable(ahc, FALSE); - ahc_unlock(ahc, &s); - ahc_free(ahc); - } - } - ahc_list_unlock(&l); - return (0); -} -#endif - /* * Return a string describing the driver. */ @@ -867,11 +608,10 @@ ahc_linux_info(struct Scsi_Host *host) * Queue an SCB to the controller. */ static int -ahc_linux_queue(Scsi_Cmnd * cmd, void (*scsi_done) (Scsi_Cmnd *)) +ahc_linux_queue(struct scsi_cmnd * cmd, void (*scsi_done) (struct scsi_cmnd *)) { struct ahc_softc *ahc; struct ahc_linux_device *dev; - u_long flags; ahc = *(struct ahc_softc **)cmd->device->host->hostdata; @@ -880,205 +620,149 @@ ahc_linux_queue(Scsi_Cmnd * cmd, void (* */ cmd->scsi_done = scsi_done; - ahc_midlayer_entrypoint_lock(ahc, &flags); - /* * Close the race of a command that was in the process of * being queued to us just as our simq was frozen. Let * DV commands through so long as we are only frozen to * perform DV. */ - if (ahc->platform_data->qfrozen != 0) { + if (ahc->platform_data->qfrozen != 0) + return SCSI_MLQUEUE_HOST_BUSY; - ahc_cmd_set_transaction_status(cmd, CAM_REQUEUE_REQ); - ahc_linux_queue_cmd_complete(ahc, cmd); - ahc_schedule_completeq(ahc); - ahc_midlayer_entrypoint_unlock(ahc, &flags); - return (0); - } dev = ahc_linux_get_device(ahc, cmd->device->channel, cmd->device->id, - cmd->device->lun, /*alloc*/TRUE); - if (dev == NULL) { - ahc_cmd_set_transaction_status(cmd, CAM_RESRC_UNAVAIL); - ahc_linux_queue_cmd_complete(ahc, cmd); - ahc_schedule_completeq(ahc); - ahc_midlayer_entrypoint_unlock(ahc, &flags); - printf("%s: aic7xxx_linux_queue - Unable to allocate device!\n", - ahc_name(ahc)); - return (0); - } + cmd->device->lun); + BUG_ON(dev == NULL); + cmd->result = CAM_REQ_INPROG << 16; - TAILQ_INSERT_TAIL(&dev->busyq, (struct ahc_cmd *)cmd, acmd_links.tqe); - if ((dev->flags & AHC_DEV_ON_RUN_LIST) == 0) { - TAILQ_INSERT_TAIL(&ahc->platform_data->device_runq, dev, links); - dev->flags |= AHC_DEV_ON_RUN_LIST; - ahc_linux_run_device_queues(ahc); - } - ahc_midlayer_entrypoint_unlock(ahc, &flags); - return (0); + + return ahc_linux_run_command(ahc, dev, cmd); } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) static int -ahc_linux_slave_alloc(Scsi_Device *device) +ahc_linux_slave_alloc(struct scsi_device *device) { struct ahc_softc *ahc; + struct ahc_linux_target *targ; + struct scsi_target *starget = device->sdev_target; + struct ahc_linux_device *dev; + unsigned int target_offset; + unsigned long flags; + int retval = -ENOMEM; + + target_offset = starget->id; + if (starget->channel != 0) + target_offset += 8; ahc = *((struct ahc_softc **)device->host->hostdata); if (bootverbose) printf("%s: Slave Alloc %d\n", ahc_name(ahc), device->id); - return (0); + ahc_lock(ahc, &flags); + targ = ahc->platform_data->targets[target_offset]; + if (targ == NULL) { + targ = ahc_linux_alloc_target(ahc, starget->channel, starget->id); + struct seeprom_config *sc = ahc->seep_config; + if (targ == NULL) + goto out; + + if (sc) { + unsigned short scsirate; + struct ahc_devinfo devinfo; + struct ahc_initiator_tinfo *tinfo; + struct ahc_tmode_tstate *tstate; + char channel = starget->channel + 'A'; + unsigned int our_id = ahc->our_id; + + if (starget->channel) + our_id = ahc->our_id_b; + + if ((ahc->features & AHC_ULTRA2) != 0) { + scsirate = sc->device_flags[target_offset] & CFXFER; + } else { + scsirate = (sc->device_flags[target_offset] & CFXFER) << 4; + if (sc->device_flags[target_offset] & CFSYNCH) + scsirate |= SOFS; + } + if (sc->device_flags[target_offset] & CFWIDEB) { + scsirate |= WIDEXFER; + spi_max_width(starget) = 1; + } else + spi_max_width(starget) = 0; + spi_min_period(starget) = + ahc_find_period(ahc, scsirate, AHC_SYNCRATE_DT); + tinfo = ahc_fetch_transinfo(ahc, channel, ahc->our_id, + targ->target, &tstate); + ahc_compile_devinfo(&devinfo, our_id, targ->target, + CAM_LUN_WILDCARD, channel, + ROLE_INITIATOR); + ahc_set_syncrate(ahc, &devinfo, NULL, 0, 0, 0, + AHC_TRANS_GOAL, /*paused*/FALSE); + ahc_set_width(ahc, &devinfo, MSG_EXT_WDTR_BUS_8_BIT, + AHC_TRANS_GOAL, /*paused*/FALSE); + } + + } + dev = targ->devices[device->lun]; + if (dev == NULL) { + dev = ahc_linux_alloc_device(ahc, targ, device->lun); + if (dev == NULL) + goto out; + } + retval = 0; + + out: + ahc_unlock(ahc, &flags); + return retval; } static int -ahc_linux_slave_configure(Scsi_Device *device) +ahc_linux_slave_configure(struct scsi_device *device) { struct ahc_softc *ahc; struct ahc_linux_device *dev; - u_long flags; ahc = *((struct ahc_softc **)device->host->hostdata); + if (bootverbose) printf("%s: Slave Configure %d\n", ahc_name(ahc), device->id); - ahc_midlayer_entrypoint_lock(ahc, &flags); - /* - * Since Linux has attached to the device, configure - * it so we don't free and allocate the device - * structure on every command. - */ - dev = ahc_linux_get_device(ahc, device->channel, - device->id, device->lun, - /*alloc*/TRUE); - if (dev != NULL) { - dev->flags &= ~AHC_DEV_UNCONFIGURED; - dev->scsi_device = device; - ahc_linux_device_queue_depth(ahc, dev); - } - ahc_midlayer_entrypoint_unlock(ahc, &flags); + + dev = ahc_linux_get_device(ahc, device->channel, device->id, + device->lun); + dev->scsi_device = device; + ahc_linux_device_queue_depth(ahc, dev); /* Initial Domain Validation */ if (!spi_initial_dv(device->sdev_target)) spi_dv_device(device); - return (0); + return 0; } static void -ahc_linux_slave_destroy(Scsi_Device *device) +ahc_linux_slave_destroy(struct scsi_device *device) { struct ahc_softc *ahc; struct ahc_linux_device *dev; - u_long flags; ahc = *((struct ahc_softc **)device->host->hostdata); if (bootverbose) printf("%s: Slave Destroy %d\n", ahc_name(ahc), device->id); - ahc_midlayer_entrypoint_lock(ahc, &flags); dev = ahc_linux_get_device(ahc, device->channel, - device->id, device->lun, - /*alloc*/FALSE); - /* - * Filter out "silly" deletions of real devices by only - * deleting devices that have had slave_configure() - * called on them. All other devices that have not - * been configured will automatically be deleted by - * the refcounting process. - */ - if (dev != NULL - && (dev->flags & AHC_DEV_SLAVE_CONFIGURED) != 0) { - dev->flags |= AHC_DEV_UNCONFIGURED; - if (TAILQ_EMPTY(&dev->busyq) - && dev->active == 0 - && (dev->flags & AHC_DEV_TIMER_ACTIVE) == 0) - ahc_linux_free_device(ahc, dev); - } - ahc_midlayer_entrypoint_unlock(ahc, &flags); -} -#else -/* - * Sets the queue depth for each SCSI device hanging - * off the input host adapter. - */ -static void -ahc_linux_select_queue_depth(struct Scsi_Host *host, Scsi_Device *scsi_devs) -{ - Scsi_Device *device; - Scsi_Device *ldev; - struct ahc_softc *ahc; - u_long flags; - - ahc = *((struct ahc_softc **)host->hostdata); - ahc_lock(ahc, &flags); - for (device = scsi_devs; device != NULL; device = device->next) { - - /* - * Watch out for duplicate devices. This works around - * some quirks in how the SCSI scanning code does its - * device management. - */ - for (ldev = scsi_devs; ldev != device; ldev = ldev->next) { - if (ldev->host == device->host - && ldev->channel == device->channel - && ldev->id == device->id - && ldev->lun == device->lun) - break; - } - /* Skip duplicate. */ - if (ldev != device) - continue; + device->id, device->lun); - if (device->host == host) { - struct ahc_linux_device *dev; + BUG_ON(dev->active); - /* - * Since Linux has attached to the device, configure - * it so we don't free and allocate the device - * structure on every command. - */ - dev = ahc_linux_get_device(ahc, device->channel, - device->id, device->lun, - /*alloc*/TRUE); - if (dev != NULL) { - dev->flags &= ~AHC_DEV_UNCONFIGURED; - dev->scsi_device = device; - ahc_linux_device_queue_depth(ahc, dev); - device->queue_depth = dev->openings - + dev->active; - if ((dev->flags & (AHC_DEV_Q_BASIC - | AHC_DEV_Q_TAGGED)) == 0) { - /* - * We allow the OS to queue 2 untagged - * transactions to us at any time even - * though we can only execute them - * serially on the controller/device. - * This should remove some latency. - */ - device->queue_depth = 2; - } - } - } - } - ahc_unlock(ahc, &flags); + ahc_linux_free_device(ahc, dev); } -#endif #if defined(__i386__) /* * Return the disk geometry for the given SCSI device. */ static int -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) ahc_linux_biosparam(struct scsi_device *sdev, struct block_device *bdev, sector_t capacity, int geom[]) { uint8_t *bh; -#else -ahc_linux_biosparam(Disk *disk, kdev_t dev, int geom[]) -{ - struct scsi_device *sdev = disk->device; - u_long capacity = disk->capacity; - struct buffer_head *bh; -#endif int heads; int sectors; int cylinders; @@ -1090,22 +774,11 @@ ahc_linux_biosparam(Disk *disk, kdev_t d ahc = *((struct ahc_softc **)sdev->host->hostdata); channel = sdev->channel; -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) bh = scsi_bios_ptable(bdev); -#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,17) - bh = bread(MKDEV(MAJOR(dev), MINOR(dev) & ~0xf), 0, block_size(dev)); -#else - bh = bread(MKDEV(MAJOR(dev), MINOR(dev) & ~0xf), 0, 1024); -#endif - if (bh) { ret = scsi_partsize(bh, capacity, &geom[2], &geom[0], &geom[1]); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) kfree(bh); -#else - brelse(bh); -#endif if (ret != -1) return (ret); } @@ -1135,7 +808,7 @@ ahc_linux_biosparam(Disk *disk, kdev_t d * Abort the current SCSI command(s). */ static int -ahc_linux_abort(Scsi_Cmnd *cmd) +ahc_linux_abort(struct scsi_cmnd *cmd) { int error; @@ -1149,7 +822,7 @@ ahc_linux_abort(Scsi_Cmnd *cmd) * Attempt to send a target reset message to the device that timed out. */ static int -ahc_linux_dev_reset(Scsi_Cmnd *cmd) +ahc_linux_dev_reset(struct scsi_cmnd *cmd) { int error; @@ -1163,18 +836,14 @@ ahc_linux_dev_reset(Scsi_Cmnd *cmd) * Reset the SCSI bus. */ static int -ahc_linux_bus_reset(Scsi_Cmnd *cmd) +ahc_linux_bus_reset(struct scsi_cmnd *cmd) { struct ahc_softc *ahc; - u_long s; int found; ahc = *(struct ahc_softc **)cmd->device->host->hostdata; - ahc_midlayer_entrypoint_lock(ahc, &s); found = ahc_reset_channel(ahc, cmd->device->channel + 'A', /*initiate reset*/TRUE); - ahc_linux_run_complete_queue(ahc); - ahc_midlayer_entrypoint_unlock(ahc, &s); if (bootverbose) printf("%s: SCSI bus reset delivered. " @@ -1183,7 +852,7 @@ ahc_linux_bus_reset(Scsi_Cmnd *cmd) return SUCCESS; } -Scsi_Host_Template aic7xxx_driver_template = { +struct scsi_host_template aic7xxx_driver_template = { .module = THIS_MODULE, .name = "aic7xxx", .proc_info = ahc_linux_proc_info, @@ -1206,33 +875,6 @@ Scsi_Host_Template aic7xxx_driver_templa /**************************** Tasklet Handler *********************************/ -/* - * In 2.4.X and above, this routine is called from a tasklet, - * so we must re-acquire our lock prior to executing this code. - * In all prior kernels, ahc_schedule_runq() calls this routine - * directly and ahc_schedule_runq() is called with our lock held. - */ -static void -ahc_runq_tasklet(unsigned long data) -{ - struct ahc_softc* ahc; - struct ahc_linux_device *dev; - u_long flags; - - ahc = (struct ahc_softc *)data; - ahc_lock(ahc, &flags); - while ((dev = ahc_linux_next_device_to_run(ahc)) != NULL) { - - TAILQ_REMOVE(&ahc->platform_data->device_runq, dev, links); - dev->flags &= ~AHC_DEV_ON_RUN_LIST; - ahc_linux_check_device_queue(ahc, dev); - /* Yeild to our interrupt handler */ - ahc_unlock(ahc, &flags); - ahc_lock(ahc, &flags); - } - ahc_unlock(ahc, &flags); -} - /******************************** Macros **************************************/ #define BUILD_SCSIID(ahc, cmd) \ ((((cmd)->device->id << TID_SHIFT) & TID) \ @@ -1278,37 +920,11 @@ int ahc_dmamem_alloc(struct ahc_softc *ahc, bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { - bus_dmamap_t map; - - map = malloc(sizeof(*map), M_DEVBUF, M_NOWAIT); - if (map == NULL) - return (ENOMEM); - /* - * Although we can dma data above 4GB, our - * "consistent" memory is below 4GB for - * space efficiency reasons (only need a 4byte - * address). For this reason, we have to reset - * our dma mask when doing allocations. - */ - if (ahc->dev_softc != NULL) - if (pci_set_dma_mask(ahc->dev_softc, 0xFFFFFFFF)) { - printk(KERN_WARNING "aic7xxx: No suitable DMA available.\n"); - kfree(map); - return (ENODEV); - } *vaddr = pci_alloc_consistent(ahc->dev_softc, - dmat->maxsize, &map->bus_addr); - if (ahc->dev_softc != NULL) - if (pci_set_dma_mask(ahc->dev_softc, - ahc->platform_data->hw_dma_mask)) { - printk(KERN_WARNING "aic7xxx: No suitable DMA available.\n"); - kfree(map); - return (ENODEV); - } + dmat->maxsize, mapp); if (*vaddr == NULL) - return (ENOMEM); - *mapp = map; - return(0); + return ENOMEM; + return 0; } void @@ -1316,7 +932,7 @@ ahc_dmamem_free(struct ahc_softc *ahc, b void* vaddr, bus_dmamap_t map) { pci_free_consistent(ahc->dev_softc, dmat->maxsize, - vaddr, map->bus_addr); + vaddr, map); } int @@ -1330,7 +946,7 @@ ahc_dmamap_load(struct ahc_softc *ahc, b */ bus_dma_segment_t stack_sg; - stack_sg.ds_addr = map->bus_addr; + stack_sg.ds_addr = map; stack_sg.ds_len = dmat->maxsize; cb(cb_arg, &stack_sg, /*nseg*/1, /*error*/0); return (0); @@ -1339,12 +955,6 @@ ahc_dmamap_load(struct ahc_softc *ahc, b void ahc_dmamap_destroy(struct ahc_softc *ahc, bus_dma_tag_t dmat, bus_dmamap_t map) { - /* - * The map may is NULL in our < 2.3.X implementation. - * Now it's 2.6.5, but just in case... - */ - BUG_ON(map == NULL); - free(map, M_DEVBUF); } int @@ -1550,7 +1160,7 @@ __setup("aic7xxx=", aic7xxx_setup); uint32_t aic7xxx_verbose; int -ahc_linux_register_host(struct ahc_softc *ahc, Scsi_Host_Template *template) +ahc_linux_register_host(struct ahc_softc *ahc, struct scsi_host_template *template) { char buf[80]; struct Scsi_Host *host; @@ -1564,11 +1174,7 @@ ahc_linux_register_host(struct ahc_softc *((struct ahc_softc **)host->hostdata) = ahc; ahc_lock(ahc, &s); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) scsi_assign_lock(host, &ahc->platform_data->spin_lock); -#elif AHC_SCSI_HAS_HOST_LOCK != 0 - host->lock = &ahc->platform_data->spin_lock; -#endif ahc->platform_data->host = host; host->can_queue = AHC_MAX_QUEUE; host->cmd_per_lun = 2; @@ -1587,19 +1193,14 @@ ahc_linux_register_host(struct ahc_softc ahc_set_name(ahc, new_name); } host->unique_id = ahc->unit; -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) - scsi_set_pci_device(host, ahc->dev_softc); -#endif ahc_linux_initialize_scsi_bus(ahc); ahc_intr_enable(ahc, TRUE); ahc_unlock(ahc, &s); host->transportt = ahc_linux_transport_template; -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) scsi_add_host(host, (ahc->dev_softc ? &ahc->dev_softc->dev : NULL)); /* XXX handle failure */ scsi_scan_host(host); -#endif return (0); } @@ -1717,19 +1318,9 @@ ahc_platform_alloc(struct ahc_softc *ahc if (ahc->platform_data == NULL) return (ENOMEM); memset(ahc->platform_data, 0, sizeof(struct ahc_platform_data)); - TAILQ_INIT(&ahc->platform_data->completeq); - TAILQ_INIT(&ahc->platform_data->device_runq); ahc->platform_data->irq = AHC_LINUX_NOIRQ; - ahc->platform_data->hw_dma_mask = 0xFFFFFFFF; ahc_lockinit(ahc); - ahc_done_lockinit(ahc); - init_timer(&ahc->platform_data->completeq_timer); - ahc->platform_data->completeq_timer.data = (u_long)ahc; - ahc->platform_data->completeq_timer.function = - (ahc_linux_callback_t *)ahc_linux_thread_run_complete_queue; init_MUTEX_LOCKED(&ahc->platform_data->eh_sem); - tasklet_init(&ahc->platform_data->runq_tasklet, ahc_runq_tasklet, - (unsigned long)ahc); ahc->seltime = (aic7xxx_seltime & 0x3) << 4; ahc->seltime_b = (aic7xxx_seltime & 0x3) << 4; if (aic7xxx_pci_parity == 0) @@ -1746,12 +1337,8 @@ ahc_platform_free(struct ahc_softc *ahc) int i, j; if (ahc->platform_data != NULL) { - del_timer_sync(&ahc->platform_data->completeq_timer); - tasklet_kill(&ahc->platform_data->runq_tasklet); if (ahc->platform_data->host != NULL) { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) scsi_remove_host(ahc->platform_data->host); -#endif scsi_host_put(ahc->platform_data->host); } @@ -1787,16 +1374,7 @@ ahc_platform_free(struct ahc_softc *ahc) release_mem_region(ahc->platform_data->mem_busaddr, 0x1000); } -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) - /* - * In 2.4 we detach from the scsi midlayer before the PCI - * layer invokes our remove callback. No per-instance - * detach is provided, so we must reach inside the PCI - * subsystem's internals and detach our driver manually. - */ - if (ahc->dev_softc != NULL) - ahc->dev_softc->driver = NULL; -#endif + free(ahc->platform_data, M_DEVBUF); } } @@ -1820,7 +1398,7 @@ ahc_platform_set_tags(struct ahc_softc * dev = ahc_linux_get_device(ahc, devinfo->channel - 'A', devinfo->target, - devinfo->lun, /*alloc*/FALSE); + devinfo->lun); if (dev == NULL) return; was_queuing = dev->flags & (AHC_DEV_Q_BASIC|AHC_DEV_Q_TAGGED); @@ -1873,7 +1451,6 @@ ahc_platform_set_tags(struct ahc_softc * dev->maxtags = 0; dev->openings = 1 - dev->active; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) if (dev->scsi_device != NULL) { switch ((dev->flags & (AHC_DEV_Q_BASIC|AHC_DEV_Q_TAGGED))) { case AHC_DEV_Q_BASIC: @@ -1899,90 +1476,13 @@ ahc_platform_set_tags(struct ahc_softc * break; } } -#endif } int ahc_platform_abort_scbs(struct ahc_softc *ahc, int target, char channel, int lun, u_int tag, role_t role, uint32_t status) { - int chan; - int maxchan; - int targ; - int maxtarg; - int clun; - int maxlun; - int count; - - if (tag != SCB_LIST_NULL) - return (0); - - chan = 0; - if (channel != ALL_CHANNELS) { - chan = channel - 'A'; - maxchan = chan + 1; - } else { - maxchan = (ahc->features & AHC_TWIN) ? 2 : 1; - } - targ = 0; - if (target != CAM_TARGET_WILDCARD) { - targ = target; - maxtarg = targ + 1; - } else { - maxtarg = (ahc->features & AHC_WIDE) ? 16 : 8; - } - clun = 0; - if (lun != CAM_LUN_WILDCARD) { - clun = lun; - maxlun = clun + 1; - } else { - maxlun = AHC_NUM_LUNS; - } - - count = 0; - for (; chan < maxchan; chan++) { - - for (; targ < maxtarg; targ++) { - - for (; clun < maxlun; clun++) { - struct ahc_linux_device *dev; - struct ahc_busyq *busyq; - struct ahc_cmd *acmd; - - dev = ahc_linux_get_device(ahc, chan, - targ, clun, - /*alloc*/FALSE); - if (dev == NULL) - continue; - - busyq = &dev->busyq; - while ((acmd = TAILQ_FIRST(busyq)) != NULL) { - Scsi_Cmnd *cmd; - - cmd = &acmd_scsi_cmd(acmd); - TAILQ_REMOVE(busyq, acmd, - acmd_links.tqe); - count++; - cmd->result = status << 16; - ahc_linux_queue_cmd_complete(ahc, cmd); - } - } - } - } - - return (count); -} - -static void -ahc_linux_thread_run_complete_queue(struct ahc_softc *ahc) -{ - u_long flags; - - ahc_lock(ahc, &flags); - del_timer(&ahc->platform_data->completeq_timer); - ahc->platform_data->flags &= ~AHC_RUN_CMPLT_Q_TIMER; - ahc_linux_run_complete_queue(ahc); - ahc_unlock(ahc, &flags); + return 0; } static u_int @@ -2045,213 +1545,200 @@ ahc_linux_device_queue_depth(struct ahc_ } } -static void -ahc_linux_run_device_queue(struct ahc_softc *ahc, struct ahc_linux_device *dev) +static int +ahc_linux_run_command(struct ahc_softc *ahc, struct ahc_linux_device *dev, + struct scsi_cmnd *cmd) { - struct ahc_cmd *acmd; - struct scsi_cmnd *cmd; struct scb *scb; struct hardware_scb *hscb; struct ahc_initiator_tinfo *tinfo; struct ahc_tmode_tstate *tstate; uint16_t mask; + struct scb_tailq *untagged_q = NULL; - if ((dev->flags & AHC_DEV_ON_RUN_LIST) != 0) - panic("running device on run list"); + /* + * Schedule us to run later. The only reason we are not + * running is because the whole controller Q is frozen. + */ + if (ahc->platform_data->qfrozen != 0) + return SCSI_MLQUEUE_HOST_BUSY; - while ((acmd = TAILQ_FIRST(&dev->busyq)) != NULL - && dev->openings > 0 && dev->qfrozen == 0) { + /* + * We only allow one untagged transaction + * per target in the initiator role unless + * we are storing a full busy target *lun* + * table in SCB space. + */ + if (!blk_rq_tagged(cmd->request) + && (ahc->features & AHC_SCB_BTT) == 0) { + int target_offset; - /* - * Schedule us to run later. The only reason we are not - * running is because the whole controller Q is frozen. - */ - if (ahc->platform_data->qfrozen != 0) { - TAILQ_INSERT_TAIL(&ahc->platform_data->device_runq, - dev, links); - dev->flags |= AHC_DEV_ON_RUN_LIST; - return; - } - /* - * Get an scb to use. - */ - if ((scb = ahc_get_scb(ahc)) == NULL) { - TAILQ_INSERT_TAIL(&ahc->platform_data->device_runq, - dev, links); - dev->flags |= AHC_DEV_ON_RUN_LIST; + target_offset = cmd->device->id + cmd->device->channel * 8; + untagged_q = &(ahc->untagged_queues[target_offset]); + if (!TAILQ_EMPTY(untagged_q)) + /* if we're already executing an untagged command + * we're busy to another */ + return SCSI_MLQUEUE_DEVICE_BUSY; + } + + /* + * Get an scb to use. + */ + if ((scb = ahc_get_scb(ahc)) == NULL) { ahc->flags |= AHC_RESOURCE_SHORTAGE; - return; - } - TAILQ_REMOVE(&dev->busyq, acmd, acmd_links.tqe); - cmd = &acmd_scsi_cmd(acmd); - scb->io_ctx = cmd; - scb->platform_data->dev = dev; - hscb = scb->hscb; - cmd->host_scribble = (char *)scb; + return SCSI_MLQUEUE_HOST_BUSY; + } - /* - * Fill out basics of the HSCB. - */ - hscb->control = 0; - hscb->scsiid = BUILD_SCSIID(ahc, cmd); - hscb->lun = cmd->device->lun; - mask = SCB_GET_TARGET_MASK(ahc, scb); - tinfo = ahc_fetch_transinfo(ahc, SCB_GET_CHANNEL(ahc, scb), - SCB_GET_OUR_ID(scb), - SCB_GET_TARGET(ahc, scb), &tstate); - hscb->scsirate = tinfo->scsirate; - hscb->scsioffset = tinfo->curr.offset; - if ((tstate->ultraenb & mask) != 0) - hscb->control |= ULTRAENB; - - if ((ahc->user_discenable & mask) != 0) - hscb->control |= DISCENB; - - if ((tstate->auto_negotiate & mask) != 0) { - scb->flags |= SCB_AUTO_NEGOTIATE; - scb->hscb->control |= MK_MESSAGE; - } - - if ((dev->flags & (AHC_DEV_Q_TAGGED|AHC_DEV_Q_BASIC)) != 0) { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) - int msg_bytes; - uint8_t tag_msgs[2]; - - msg_bytes = scsi_populate_tag_msg(cmd, tag_msgs); - if (msg_bytes && tag_msgs[0] != MSG_SIMPLE_TASK) { - hscb->control |= tag_msgs[0]; - if (tag_msgs[0] == MSG_ORDERED_TASK) - dev->commands_since_idle_or_otag = 0; - } else -#endif - if (dev->commands_since_idle_or_otag == AHC_OTAG_THRESH - && (dev->flags & AHC_DEV_Q_TAGGED) != 0) { - hscb->control |= MSG_ORDERED_TASK; - dev->commands_since_idle_or_otag = 0; - } else { - hscb->control |= MSG_SIMPLE_TASK; - } - } + scb->io_ctx = cmd; + scb->platform_data->dev = dev; + hscb = scb->hscb; + cmd->host_scribble = (char *)scb; + + /* + * Fill out basics of the HSCB. + */ + hscb->control = 0; + hscb->scsiid = BUILD_SCSIID(ahc, cmd); + hscb->lun = cmd->device->lun; + mask = SCB_GET_TARGET_MASK(ahc, scb); + tinfo = ahc_fetch_transinfo(ahc, SCB_GET_CHANNEL(ahc, scb), + SCB_GET_OUR_ID(scb), + SCB_GET_TARGET(ahc, scb), &tstate); + hscb->scsirate = tinfo->scsirate; + hscb->scsioffset = tinfo->curr.offset; + if ((tstate->ultraenb & mask) != 0) + hscb->control |= ULTRAENB; + + if ((ahc->user_discenable & mask) != 0) + hscb->control |= DISCENB; + + if ((tstate->auto_negotiate & mask) != 0) { + scb->flags |= SCB_AUTO_NEGOTIATE; + scb->hscb->control |= MK_MESSAGE; + } - hscb->cdb_len = cmd->cmd_len; - if (hscb->cdb_len <= 12) { - memcpy(hscb->shared_data.cdb, cmd->cmnd, hscb->cdb_len); + if ((dev->flags & (AHC_DEV_Q_TAGGED|AHC_DEV_Q_BASIC)) != 0) { + int msg_bytes; + uint8_t tag_msgs[2]; + + msg_bytes = scsi_populate_tag_msg(cmd, tag_msgs); + if (msg_bytes && tag_msgs[0] != MSG_SIMPLE_TASK) { + hscb->control |= tag_msgs[0]; + if (tag_msgs[0] == MSG_ORDERED_TASK) + dev->commands_since_idle_or_otag = 0; + } else if (dev->commands_since_idle_or_otag == AHC_OTAG_THRESH + && (dev->flags & AHC_DEV_Q_TAGGED) != 0) { + hscb->control |= MSG_ORDERED_TASK; + dev->commands_since_idle_or_otag = 0; } else { - memcpy(hscb->cdb32, cmd->cmnd, hscb->cdb_len); - scb->flags |= SCB_CDB32_PTR; + hscb->control |= MSG_SIMPLE_TASK; } + } - scb->platform_data->xfer_len = 0; - ahc_set_residual(scb, 0); - ahc_set_sense_residual(scb, 0); - scb->sg_count = 0; - if (cmd->use_sg != 0) { - struct ahc_dma_seg *sg; - struct scatterlist *cur_seg; - struct scatterlist *end_seg; - int nseg; - - cur_seg = (struct scatterlist *)cmd->request_buffer; - nseg = pci_map_sg(ahc->dev_softc, cur_seg, cmd->use_sg, - cmd->sc_data_direction); - end_seg = cur_seg + nseg; - /* Copy the segments into the SG list. */ - sg = scb->sg_list; - /* - * The sg_count may be larger than nseg if - * a transfer crosses a 32bit page. - */ - while (cur_seg < end_seg) { - dma_addr_t addr; - bus_size_t len; - int consumed; - - addr = sg_dma_address(cur_seg); - len = sg_dma_len(cur_seg); - consumed = ahc_linux_map_seg(ahc, scb, - sg, addr, len); - sg += consumed; - scb->sg_count += consumed; - cur_seg++; - } - sg--; - sg->len |= ahc_htole32(AHC_DMA_LAST_SEG); - - /* - * Reset the sg list pointer. - */ - scb->hscb->sgptr = - ahc_htole32(scb->sg_list_phys | SG_FULL_RESID); + hscb->cdb_len = cmd->cmd_len; + if (hscb->cdb_len <= 12) { + memcpy(hscb->shared_data.cdb, cmd->cmnd, hscb->cdb_len); + } else { + memcpy(hscb->cdb32, cmd->cmnd, hscb->cdb_len); + scb->flags |= SCB_CDB32_PTR; + } - /* - * Copy the first SG into the "current" - * data pointer area. - */ - scb->hscb->dataptr = scb->sg_list->addr; - scb->hscb->datacnt = scb->sg_list->len; - } else if (cmd->request_bufflen != 0) { - struct ahc_dma_seg *sg; + scb->platform_data->xfer_len = 0; + ahc_set_residual(scb, 0); + ahc_set_sense_residual(scb, 0); + scb->sg_count = 0; + if (cmd->use_sg != 0) { + struct ahc_dma_seg *sg; + struct scatterlist *cur_seg; + struct scatterlist *end_seg; + int nseg; + + cur_seg = (struct scatterlist *)cmd->request_buffer; + nseg = pci_map_sg(ahc->dev_softc, cur_seg, cmd->use_sg, + cmd->sc_data_direction); + end_seg = cur_seg + nseg; + /* Copy the segments into the SG list. */ + sg = scb->sg_list; + /* + * The sg_count may be larger than nseg if + * a transfer crosses a 32bit page. + */ + while (cur_seg < end_seg) { dma_addr_t addr; + bus_size_t len; + int consumed; - sg = scb->sg_list; - addr = pci_map_single(ahc->dev_softc, - cmd->request_buffer, - cmd->request_bufflen, - cmd->sc_data_direction); - scb->platform_data->buf_busaddr = addr; - scb->sg_count = ahc_linux_map_seg(ahc, scb, - sg, addr, - cmd->request_bufflen); - sg->len |= ahc_htole32(AHC_DMA_LAST_SEG); + addr = sg_dma_address(cur_seg); + len = sg_dma_len(cur_seg); + consumed = ahc_linux_map_seg(ahc, scb, + sg, addr, len); + sg += consumed; + scb->sg_count += consumed; + cur_seg++; + } + sg--; + sg->len |= ahc_htole32(AHC_DMA_LAST_SEG); - /* - * Reset the sg list pointer. - */ - scb->hscb->sgptr = - ahc_htole32(scb->sg_list_phys | SG_FULL_RESID); + /* + * Reset the sg list pointer. + */ + scb->hscb->sgptr = + ahc_htole32(scb->sg_list_phys | SG_FULL_RESID); + + /* + * Copy the first SG into the "current" + * data pointer area. + */ + scb->hscb->dataptr = scb->sg_list->addr; + scb->hscb->datacnt = scb->sg_list->len; + } else if (cmd->request_bufflen != 0) { + struct ahc_dma_seg *sg; + dma_addr_t addr; - /* - * Copy the first SG into the "current" - * data pointer area. - */ - scb->hscb->dataptr = sg->addr; - scb->hscb->datacnt = sg->len; - } else { - scb->hscb->sgptr = ahc_htole32(SG_LIST_NULL); - scb->hscb->dataptr = 0; - scb->hscb->datacnt = 0; - scb->sg_count = 0; - } + sg = scb->sg_list; + addr = pci_map_single(ahc->dev_softc, + cmd->request_buffer, + cmd->request_bufflen, + cmd->sc_data_direction); + scb->platform_data->buf_busaddr = addr; + scb->sg_count = ahc_linux_map_seg(ahc, scb, + sg, addr, + cmd->request_bufflen); + sg->len |= ahc_htole32(AHC_DMA_LAST_SEG); - ahc_sync_sglist(ahc, scb, BUS_DMASYNC_PREWRITE); - LIST_INSERT_HEAD(&ahc->pending_scbs, scb, pending_links); - dev->openings--; - dev->active++; - dev->commands_issued++; - if ((dev->flags & AHC_DEV_PERIODIC_OTAG) != 0) - dev->commands_since_idle_or_otag++; + /* + * Reset the sg list pointer. + */ + scb->hscb->sgptr = + ahc_htole32(scb->sg_list_phys | SG_FULL_RESID); /* - * We only allow one untagged transaction - * per target in the initiator role unless - * we are storing a full busy target *lun* - * table in SCB space. + * Copy the first SG into the "current" + * data pointer area. */ - if ((scb->hscb->control & (TARGET_SCB|TAG_ENB)) == 0 - && (ahc->features & AHC_SCB_BTT) == 0) { - struct scb_tailq *untagged_q; - int target_offset; - - target_offset = SCB_GET_TARGET_OFFSET(ahc, scb); - untagged_q = &(ahc->untagged_queues[target_offset]); - TAILQ_INSERT_TAIL(untagged_q, scb, links.tqe); - scb->flags |= SCB_UNTAGGEDQ; - if (TAILQ_FIRST(untagged_q) != scb) - continue; - } - scb->flags |= SCB_ACTIVE; - ahc_queue_scb(ahc, scb); + scb->hscb->dataptr = sg->addr; + scb->hscb->datacnt = sg->len; + } else { + scb->hscb->sgptr = ahc_htole32(SG_LIST_NULL); + scb->hscb->dataptr = 0; + scb->hscb->datacnt = 0; + scb->sg_count = 0; + } + + LIST_INSERT_HEAD(&ahc->pending_scbs, scb, pending_links); + dev->openings--; + dev->active++; + dev->commands_issued++; + if ((dev->flags & AHC_DEV_PERIODIC_OTAG) != 0) + dev->commands_since_idle_or_otag++; + + scb->flags |= SCB_ACTIVE; + if (untagged_q) { + TAILQ_INSERT_TAIL(untagged_q, scb, links.tqe); + scb->flags |= SCB_UNTAGGEDQ; } + ahc_queue_scb(ahc, scb); + return 0; } /* @@ -2267,9 +1754,6 @@ ahc_linux_isr(int irq, void *dev_id, str ahc = (struct ahc_softc *) dev_id; ahc_lock(ahc, &flags); ours = ahc_intr(ahc); - if (ahc_linux_next_device_to_run(ahc) != NULL) - ahc_schedule_runq(ahc); - ahc_linux_run_complete_queue(ahc); ahc_unlock(ahc, &flags); return IRQ_RETVAL(ours); } @@ -2278,8 +1762,6 @@ void ahc_platform_flushwork(struct ahc_softc *ahc) { - while (ahc_linux_run_complete_queue(ahc) != NULL) - ; } static struct ahc_linux_target* @@ -2348,9 +1830,6 @@ ahc_linux_alloc_device(struct ahc_softc if (dev == NULL) return (NULL); memset(dev, 0, sizeof(*dev)); - init_timer(&dev->timer); - TAILQ_INIT(&dev->busyq); - dev->flags = AHC_DEV_UNCONFIGURED; dev->lun = lun; dev->target = targ; @@ -2373,7 +1852,7 @@ ahc_linux_alloc_device(struct ahc_softc } static void -__ahc_linux_free_device(struct ahc_softc *ahc, struct ahc_linux_device *dev) +ahc_linux_free_device(struct ahc_softc *ahc, struct ahc_linux_device *dev) { struct ahc_linux_target *targ; @@ -2385,13 +1864,6 @@ __ahc_linux_free_device(struct ahc_softc ahc_linux_free_target(ahc, targ); } -static void -ahc_linux_free_device(struct ahc_softc *ahc, struct ahc_linux_device *dev) -{ - del_timer_sync(&dev->timer); - __ahc_linux_free_device(ahc, dev); -} - void ahc_send_async(struct ahc_softc *ahc, char channel, u_int target, u_int lun, ac_code code, void *arg) @@ -2463,28 +1935,9 @@ ahc_send_async(struct ahc_softc *ahc, ch } case AC_SENT_BDR: { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) WARN_ON(lun != CAM_LUN_WILDCARD); scsi_report_device_reset(ahc->platform_data->host, channel - 'A', target); -#else - Scsi_Device *scsi_dev; - - /* - * Find the SCSI device associated with this - * request and indicate that a UA is expected. - */ - for (scsi_dev = ahc->platform_data->host->host_queue; - scsi_dev != NULL; scsi_dev = scsi_dev->next) { - if (channel - 'A' == scsi_dev->channel - && target == scsi_dev->id - && (lun == CAM_LUN_WILDCARD - || lun == scsi_dev->lun)) { - scsi_dev->was_reset = 1; - scsi_dev->expecting_cc_ua = 1; - } - } -#endif break; } case AC_BUS_RESET: @@ -2504,7 +1957,7 @@ ahc_send_async(struct ahc_softc *ahc, ch void ahc_done(struct ahc_softc *ahc, struct scb *scb) { - Scsi_Cmnd *cmd; + struct scsi_cmnd *cmd; struct ahc_linux_device *dev; LIST_REMOVE(scb, pending_links); @@ -2515,7 +1968,7 @@ ahc_done(struct ahc_softc *ahc, struct s target_offset = SCB_GET_TARGET_OFFSET(ahc, scb); untagged_q = &(ahc->untagged_queues[target_offset]); TAILQ_REMOVE(untagged_q, scb, links.tqe); - ahc_run_untagged_queue(ahc, untagged_q); + BUG_ON(!TAILQ_EMPTY(untagged_q)); } if ((scb->flags & SCB_ACTIVE) == 0) { @@ -2583,8 +2036,6 @@ ahc_done(struct ahc_softc *ahc, struct s } } else if (ahc_get_transaction_status(scb) == CAM_SCSI_STATUS_ERROR) { ahc_linux_handle_scsi_status(ahc, dev, scb); - } else if (ahc_get_transaction_status(scb) == CAM_SEL_TIMEOUT) { - dev->flags |= AHC_DEV_UNCONFIGURED; } if (dev->openings == 1 @@ -2606,16 +2057,6 @@ ahc_done(struct ahc_softc *ahc, struct s if (dev->active == 0) dev->commands_since_idle_or_otag = 0; - if (TAILQ_EMPTY(&dev->busyq)) { - if ((dev->flags & AHC_DEV_UNCONFIGURED) != 0 - && dev->active == 0 - && (dev->flags & AHC_DEV_TIMER_ACTIVE) == 0) - ahc_linux_free_device(ahc, dev); - } else if ((dev->flags & AHC_DEV_ON_RUN_LIST) == 0) { - TAILQ_INSERT_TAIL(&ahc->platform_data->device_runq, dev, links); - dev->flags |= AHC_DEV_ON_RUN_LIST; - } - if ((scb->flags & SCB_RECOVERY_SCB) != 0) { printf("Recovery SCB completes\n"); if (ahc_get_transaction_status(scb) == CAM_BDR_SENT @@ -2659,7 +2100,7 @@ ahc_linux_handle_scsi_status(struct ahc_ case SCSI_STATUS_CHECK_COND: case SCSI_STATUS_CMD_TERMINATED: { - Scsi_Cmnd *cmd; + struct scsi_cmnd *cmd; /* * Copy sense information to the OS's cmd @@ -2754,52 +2195,15 @@ ahc_linux_handle_scsi_status(struct ahc_ ahc_platform_set_tags(ahc, &devinfo, (dev->flags & AHC_DEV_Q_BASIC) ? AHC_QUEUE_BASIC : AHC_QUEUE_TAGGED); - /* FALLTHROUGH */ - } - case SCSI_STATUS_BUSY: - { - /* - * Set a short timer to defer sending commands for - * a bit since Linux will not delay in this case. - */ - if ((dev->flags & AHC_DEV_TIMER_ACTIVE) != 0) { - printf("%s:%c:%d: Device Timer still active during " - "busy processing\n", ahc_name(ahc), - dev->target->channel, dev->target->target); - break; - } - dev->flags |= AHC_DEV_TIMER_ACTIVE; - dev->qfrozen++; - init_timer(&dev->timer); - dev->timer.data = (u_long)dev; - dev->timer.expires = jiffies + (HZ/2); - dev->timer.function = ahc_linux_dev_timed_unfreeze; - add_timer(&dev->timer); break; } } } static void -ahc_linux_queue_cmd_complete(struct ahc_softc *ahc, Scsi_Cmnd *cmd) +ahc_linux_queue_cmd_complete(struct ahc_softc *ahc, struct scsi_cmnd *cmd) { /* - * Typically, the complete queue has very few entries - * queued to it before the queue is emptied by - * ahc_linux_run_complete_queue, so sorting the entries - * by generation number should be inexpensive. - * We perform the sort so that commands that complete - * with an error are retuned in the order origionally - * queued to the controller so that any subsequent retries - * are performed in order. The underlying ahc routines do - * not guarantee the order that aborted commands will be - * returned to us. - */ - struct ahc_completeq *completeq; - struct ahc_cmd *list_cmd; - struct ahc_cmd *acmd; - - /* * Map CAM error codes into Linux Error codes. We * avoid the conversion so that the DV code has the * full error information available when making @@ -2852,26 +2256,7 @@ ahc_linux_queue_cmd_complete(struct ahc_ new_status = DID_ERROR; break; case CAM_REQUEUE_REQ: - /* - * If we want the request requeued, make sure there - * are sufficent retries. In the old scsi error code, - * we used to be able to specify a result code that - * bypassed the retry count. Now we must use this - * hack. We also "fake" a check condition with - * a sense code of ABORTED COMMAND. This seems to - * evoke a retry even if this command is being sent - * via the eh thread. Ick! Ick! Ick! - */ - if (cmd->retries > 0) - cmd->retries--; - new_status = DID_OK; - ahc_cmd_set_scsi_status(cmd, SCSI_STATUS_CHECK_COND); - cmd->result |= (DRIVER_SENSE << 24); - memset(cmd->sense_buffer, 0, - sizeof(cmd->sense_buffer)); - cmd->sense_buffer[0] = SSD_ERRCODE_VALID - | SSD_CURRENT_ERROR; - cmd->sense_buffer[2] = SSD_KEY_ABORTED_COMMAND; + new_status = DID_REQUEUE; break; default: /* We should never get here */ @@ -2882,17 +2267,7 @@ ahc_linux_queue_cmd_complete(struct ahc_ ahc_cmd_set_transaction_status(cmd, new_status); } - completeq = &ahc->platform_data->completeq; - list_cmd = TAILQ_FIRST(completeq); - acmd = (struct ahc_cmd *)cmd; - while (list_cmd != NULL - && acmd_scsi_cmd(list_cmd).serial_number - < acmd_scsi_cmd(acmd).serial_number) - list_cmd = TAILQ_NEXT(list_cmd, acmd_links.tqe); - if (list_cmd != NULL) - TAILQ_INSERT_BEFORE(list_cmd, acmd, acmd_links.tqe); - else - TAILQ_INSERT_TAIL(completeq, acmd, acmd_links.tqe); + cmd->scsi_done(cmd); } static void @@ -2940,7 +2315,6 @@ ahc_linux_release_simq(u_long arg) ahc->platform_data->qfrozen--; if (ahc->platform_data->qfrozen == 0) unblock_reqs = 1; - ahc_schedule_runq(ahc); ahc_unlock(ahc, &s); /* * There is still a race here. The mid-layer @@ -2952,37 +2326,12 @@ ahc_linux_release_simq(u_long arg) scsi_unblock_requests(ahc->platform_data->host); } -static void -ahc_linux_dev_timed_unfreeze(u_long arg) -{ - struct ahc_linux_device *dev; - struct ahc_softc *ahc; - u_long s; - - dev = (struct ahc_linux_device *)arg; - ahc = dev->target->ahc; - ahc_lock(ahc, &s); - dev->flags &= ~AHC_DEV_TIMER_ACTIVE; - if (dev->qfrozen > 0) - dev->qfrozen--; - if (dev->qfrozen == 0 - && (dev->flags & AHC_DEV_ON_RUN_LIST) == 0) - ahc_linux_run_device_queue(ahc, dev); - if (TAILQ_EMPTY(&dev->busyq) - && dev->active == 0) - __ahc_linux_free_device(ahc, dev); - ahc_unlock(ahc, &s); -} - static int -ahc_linux_queue_recovery_cmd(Scsi_Cmnd *cmd, scb_flag flag) +ahc_linux_queue_recovery_cmd(struct scsi_cmnd *cmd, scb_flag flag) { struct ahc_softc *ahc; - struct ahc_cmd *acmd; - struct ahc_cmd *list_acmd; struct ahc_linux_device *dev; struct scb *pending_scb; - u_long s; u_int saved_scbptr; u_int active_scb_index; u_int last_phase; @@ -2998,7 +2347,6 @@ ahc_linux_queue_recovery_cmd(Scsi_Cmnd * paused = FALSE; wait = FALSE; ahc = *(struct ahc_softc **)cmd->device->host->hostdata; - acmd = (struct ahc_cmd *)cmd; printf("%s:%d:%d:%d: Attempting to queue a%s message\n", ahc_name(ahc), cmd->device->channel, @@ -3011,22 +2359,6 @@ ahc_linux_queue_recovery_cmd(Scsi_Cmnd * printf("\n"); /* - * In all versions of Linux, we have to work around - * a major flaw in how the mid-layer is locked down - * if we are to sleep successfully in our error handler - * while allowing our interrupt handler to run. Since - * the midlayer acquires either the io_request_lock or - * our lock prior to calling us, we must use the - * spin_unlock_irq() method for unlocking our lock. - * This will force interrupts to be enabled on the - * current CPU. Since the EH thread should not have - * been running with CPU interrupts disabled other than - * by acquiring either the io_request_lock or our own - * lock, this *should* be safe. - */ - ahc_midlayer_entrypoint_lock(ahc, &s); - - /* * First determine if we currently own this command. * Start by searching the device queue. If not found * there, check the pending_scb list. If not found @@ -3034,7 +2366,7 @@ ahc_linux_queue_recovery_cmd(Scsi_Cmnd * * command, return success. */ dev = ahc_linux_get_device(ahc, cmd->device->channel, cmd->device->id, - cmd->device->lun, /*alloc*/FALSE); + cmd->device->lun); if (dev == NULL) { /* @@ -3048,24 +2380,6 @@ ahc_linux_queue_recovery_cmd(Scsi_Cmnd * goto no_cmd; } - TAILQ_FOREACH(list_acmd, &dev->busyq, acmd_links.tqe) { - if (list_acmd == acmd) - break; - } - - if (list_acmd != NULL) { - printf("%s:%d:%d:%d: Command found on device queue\n", - ahc_name(ahc), cmd->device->channel, cmd->device->id, - cmd->device->lun); - if (flag == SCB_ABORT) { - TAILQ_REMOVE(&dev->busyq, list_acmd, acmd_links.tqe); - cmd->result = DID_ABORT << 16; - ahc_linux_queue_cmd_complete(ahc, cmd); - retval = SUCCESS; - goto done; - } - } - if ((dev->flags & (AHC_DEV_Q_BASIC|AHC_DEV_Q_TAGGED)) == 0 && ahc_search_untagged_queues(ahc, cmd, cmd->device->id, cmd->device->channel + 'A', @@ -3299,53 +2613,42 @@ done: } spin_lock_irq(&ahc->platform_data->spin_lock); } - ahc_schedule_runq(ahc); - ahc_linux_run_complete_queue(ahc); - ahc_midlayer_entrypoint_unlock(ahc, &s); return (retval); } void ahc_platform_dump_card_state(struct ahc_softc *ahc) { - struct ahc_linux_device *dev; - int channel; - int maxchannel; - int target; - int maxtarget; - int lun; - int i; - - maxchannel = (ahc->features & AHC_TWIN) ? 1 : 0; - maxtarget = (ahc->features & AHC_WIDE) ? 15 : 7; - for (channel = 0; channel <= maxchannel; channel++) { - - for (target = 0; target <=maxtarget; target++) { - - for (lun = 0; lun < AHC_NUM_LUNS; lun++) { - struct ahc_cmd *acmd; - - dev = ahc_linux_get_device(ahc, channel, target, - lun, /*alloc*/FALSE); - if (dev == NULL) - continue; - - printf("DevQ(%d:%d:%d): ", - channel, target, lun); - i = 0; - TAILQ_FOREACH(acmd, &dev->busyq, - acmd_links.tqe) { - if (i++ > AHC_SCB_MAX) - break; - } - printf("%d waiting\n", i); - } - } - } } static void ahc_linux_exit(void); +static void ahc_linux_get_width(struct scsi_target *starget) +{ + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct ahc_softc *ahc = *((struct ahc_softc **)shost->hostdata); + struct ahc_tmode_tstate *tstate; + struct ahc_initiator_tinfo *tinfo + = ahc_fetch_transinfo(ahc, + starget->channel + 'A', + shost->this_id, starget->id, &tstate); + spi_width(starget) = tinfo->curr.width; +} + +static void ahc_linux_set_width(struct scsi_target *starget, int width) +{ + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct ahc_softc *ahc = *((struct ahc_softc **)shost->hostdata); + struct ahc_devinfo devinfo; + unsigned long flags; + + ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0, + starget->channel + 'A', ROLE_INITIATOR); + ahc_lock(ahc, &flags); + ahc_set_width(ahc, &devinfo, width, AHC_TRANS_GOAL, FALSE); + ahc_unlock(ahc, &flags); +} + static void ahc_linux_get_period(struct scsi_target *starget) { struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); @@ -3378,6 +2681,14 @@ static void ahc_linux_set_period(struct ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0, starget->channel + 'A', ROLE_INITIATOR); + + /* all PPR requests apart from QAS require wide transfers */ + if (ppr_options & ~MSG_EXT_PPR_QAS_REQ) { + ahc_linux_get_width(starget); + if (spi_width(starget) == 0) + ppr_options &= MSG_EXT_PPR_QAS_REQ; + } + syncrate = ahc_find_syncrate(ahc, &period, &ppr_options, AHC_SYNCRATE_DT); ahc_lock(ahc, &flags); ahc_set_syncrate(ahc, &devinfo, syncrate, period, offset, @@ -3425,32 +2736,6 @@ static void ahc_linux_set_offset(struct ahc_unlock(ahc, &flags); } -static void ahc_linux_get_width(struct scsi_target *starget) -{ - struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); - struct ahc_softc *ahc = *((struct ahc_softc **)shost->hostdata); - struct ahc_tmode_tstate *tstate; - struct ahc_initiator_tinfo *tinfo - = ahc_fetch_transinfo(ahc, - starget->channel + 'A', - shost->this_id, starget->id, &tstate); - spi_width(starget) = tinfo->curr.width; -} - -static void ahc_linux_set_width(struct scsi_target *starget, int width) -{ - struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); - struct ahc_softc *ahc = *((struct ahc_softc **)shost->hostdata); - struct ahc_devinfo devinfo; - unsigned long flags; - - ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0, - starget->channel + 'A', ROLE_INITIATOR); - ahc_lock(ahc, &flags); - ahc_set_width(ahc, &devinfo, width, AHC_TRANS_GOAL, FALSE); - ahc_unlock(ahc, &flags); -} - static void ahc_linux_get_dt(struct scsi_target *starget) { struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); @@ -3481,8 +2766,7 @@ static void ahc_linux_set_dt(struct scsi ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0, starget->channel + 'A', ROLE_INITIATOR); - syncrate = ahc_find_syncrate(ahc, &period, &ppr_options, - dt ? AHC_SYNCRATE_DT : AHC_SYNCRATE_ULTRA2); + syncrate = ahc_find_syncrate(ahc, &period, &ppr_options,AHC_SYNCRATE_DT); ahc_lock(ahc, &flags); ahc_set_syncrate(ahc, &devinfo, syncrate, period, tinfo->curr.offset, ppr_options, AHC_TRANS_GOAL, FALSE); @@ -3514,7 +2798,6 @@ static void ahc_linux_set_qas(struct scs unsigned int ppr_options = tinfo->curr.ppr_options & ~MSG_EXT_PPR_QAS_REQ; unsigned int period = tinfo->curr.period; - unsigned int dt = ppr_options & MSG_EXT_PPR_DT_REQ; unsigned long flags; struct ahc_syncrate *syncrate; @@ -3523,8 +2806,7 @@ static void ahc_linux_set_qas(struct scs ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0, starget->channel + 'A', ROLE_INITIATOR); - syncrate = ahc_find_syncrate(ahc, &period, &ppr_options, - dt ? AHC_SYNCRATE_DT : AHC_SYNCRATE_ULTRA2); + syncrate = ahc_find_syncrate(ahc, &period, &ppr_options, AHC_SYNCRATE_DT); ahc_lock(ahc, &flags); ahc_set_syncrate(ahc, &devinfo, syncrate, period, tinfo->curr.offset, ppr_options, AHC_TRANS_GOAL, FALSE); @@ -3556,7 +2838,6 @@ static void ahc_linux_set_iu(struct scsi unsigned int ppr_options = tinfo->curr.ppr_options & ~MSG_EXT_PPR_IU_REQ; unsigned int period = tinfo->curr.period; - unsigned int dt = ppr_options & MSG_EXT_PPR_DT_REQ; unsigned long flags; struct ahc_syncrate *syncrate; @@ -3565,8 +2846,7 @@ static void ahc_linux_set_iu(struct scsi ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0, starget->channel + 'A', ROLE_INITIATOR); - syncrate = ahc_find_syncrate(ahc, &period, &ppr_options, - dt ? AHC_SYNCRATE_DT : AHC_SYNCRATE_ULTRA2); + syncrate = ahc_find_syncrate(ahc, &period, &ppr_options, AHC_SYNCRATE_DT); ahc_lock(ahc, &flags); ahc_set_syncrate(ahc, &devinfo, syncrate, period, tinfo->curr.offset, ppr_options, AHC_TRANS_GOAL, FALSE); @@ -3599,7 +2879,6 @@ static struct spi_function_template ahc_ static int __init ahc_linux_init(void) { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) ahc_linux_transport_template = spi_attach_transport(&ahc_linux_transport_functions); if (!ahc_linux_transport_template) return -ENODEV; @@ -3608,29 +2887,11 @@ ahc_linux_init(void) spi_release_transport(ahc_linux_transport_template); ahc_linux_exit(); return -ENODEV; -#else - scsi_register_module(MODULE_SCSI_HA, &aic7xxx_driver_template); - if (aic7xxx_driver_template.present == 0) { - scsi_unregister_module(MODULE_SCSI_HA, - &aic7xxx_driver_template); - return (-ENODEV); - } - - return (0); -#endif } static void ahc_linux_exit(void) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) - /* - * In 2.4 we have to unregister from the PCI core _after_ - * unregistering from the scsi midlayer to avoid dangling - * references. - */ - scsi_unregister_module(MODULE_SCSI_HA, &aic7xxx_driver_template); -#endif ahc_linux_pci_exit(); ahc_linux_eisa_exit(); spi_release_transport(ahc_linux_transport_template); --- a/drivers/scsi/aic7xxx/aic7xxx_osm.h +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.h @@ -59,6 +59,7 @@ #ifndef _AIC7XXX_LINUX_H_ #define _AIC7XXX_LINUX_H_ +#include <linux/config.h> #include <linux/types.h> #include <linux/blkdev.h> #include <linux/delay.h> @@ -66,18 +67,21 @@ #include <linux/pci.h> #include <linux/smp_lock.h> #include <linux/version.h> +#include <linux/interrupt.h> #include <linux/module.h> +#include <linux/slab.h> #include <asm/byteorder.h> #include <asm/io.h> -#include <linux/interrupt.h> /* For tasklet support. */ -#include <linux/config.h> -#include <linux/slab.h> +#include <scsi/scsi.h> +#include <scsi/scsi_cmnd.h> +#include <scsi/scsi_eh.h> +#include <scsi/scsi_device.h> +#include <scsi/scsi_host.h> +#include <scsi/scsi_tcq.h> /* Core SCSI definitions */ #define AIC_LIB_PREFIX ahc -#include "scsi.h" -#include <scsi/scsi_host.h> /* Name space conflict with BSD queue macros */ #ifdef LIST_HEAD @@ -106,7 +110,7 @@ /************************* Forward Declarations *******************************/ struct ahc_softc; typedef struct pci_dev *ahc_dev_softc_t; -typedef Scsi_Cmnd *ahc_io_ctx_t; +typedef struct scsi_cmnd *ahc_io_ctx_t; /******************************* Byte Order ***********************************/ #define ahc_htobe16(x) cpu_to_be16(x) @@ -144,7 +148,7 @@ typedef Scsi_Cmnd *ahc_io_ctx_t; extern u_int aic7xxx_no_probe; extern u_int aic7xxx_allow_memio; extern int aic7xxx_detect_complete; -extern Scsi_Host_Template aic7xxx_driver_template; +extern struct scsi_host_template aic7xxx_driver_template; /***************************** Bus Space/DMA **********************************/ @@ -174,11 +178,7 @@ struct ahc_linux_dma_tag }; typedef struct ahc_linux_dma_tag* bus_dma_tag_t; -struct ahc_linux_dmamap -{ - dma_addr_t bus_addr; -}; -typedef struct ahc_linux_dmamap* bus_dmamap_t; +typedef dma_addr_t bus_dmamap_t; typedef int bus_dma_filter_t(void*, dma_addr_t); typedef void bus_dmamap_callback_t(void *, bus_dma_segment_t *, int, int); @@ -281,12 +281,6 @@ ahc_scb_timer_reset(struct scb *scb, u_i /***************************** SMP support ************************************/ #include <linux/spinlock.h> -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) || defined(SCSI_HAS_HOST_LOCK)) -#define AHC_SCSI_HAS_HOST_LOCK 1 -#else -#define AHC_SCSI_HAS_HOST_LOCK 0 -#endif - #define AIC7XXX_DRIVER_VERSION "6.2.36" /**************************** Front End Queues ********************************/ @@ -328,20 +322,15 @@ struct ahc_cmd { */ TAILQ_HEAD(ahc_busyq, ahc_cmd); typedef enum { - AHC_DEV_UNCONFIGURED = 0x01, AHC_DEV_FREEZE_TIL_EMPTY = 0x02, /* Freeze queue until active == 0 */ - AHC_DEV_TIMER_ACTIVE = 0x04, /* Our timer is active */ - AHC_DEV_ON_RUN_LIST = 0x08, /* Queued to be run later */ AHC_DEV_Q_BASIC = 0x10, /* Allow basic device queuing */ AHC_DEV_Q_TAGGED = 0x20, /* Allow full SCSI2 command queueing */ AHC_DEV_PERIODIC_OTAG = 0x40, /* Send OTAG to prevent starvation */ - AHC_DEV_SLAVE_CONFIGURED = 0x80 /* slave_configure() has been called */ } ahc_linux_dev_flags; struct ahc_linux_target; struct ahc_linux_device { TAILQ_ENTRY(ahc_linux_device) links; - struct ahc_busyq busyq; /* * The number of transactions currently @@ -382,11 +371,6 @@ struct ahc_linux_device { ahc_linux_dev_flags flags; /* - * Per device timer. - */ - struct timer_list timer; - - /* * The high limit for the tags variable. */ u_int maxtags; @@ -419,7 +403,7 @@ struct ahc_linux_device { #define AHC_OTAG_THRESH 500 int lun; - Scsi_Device *scsi_device; + struct scsi_device *scsi_device; struct ahc_linux_target *target; }; @@ -439,32 +423,16 @@ struct ahc_linux_target { * manner and are allocated below 4GB, the number of S/G segments is * unrestricted. */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) -/* - * We dynamically adjust the number of segments in pre-2.5 kernels to - * avoid fragmentation issues in the SCSI mid-layer's private memory - * allocator. See aic7xxx_osm.c ahc_linux_size_nseg() for details. - */ -extern u_int ahc_linux_nseg; -#define AHC_NSEG ahc_linux_nseg -#define AHC_LINUX_MIN_NSEG 64 -#else #define AHC_NSEG 128 -#endif /* * Per-SCB OSM storage. */ -typedef enum { - AHC_UP_EH_SEMAPHORE = 0x1 -} ahc_linux_scb_flags; - struct scb_platform_data { struct ahc_linux_device *dev; dma_addr_t buf_busaddr; uint32_t xfer_len; uint32_t sense_resid; /* Auto-Sense residual */ - ahc_linux_scb_flags flags; }; /* @@ -473,39 +441,24 @@ struct scb_platform_data { * alignment restrictions of the various platforms supported by * this driver. */ -typedef enum { - AHC_RUN_CMPLT_Q_TIMER = 0x10 -} ahc_linux_softc_flags; - -TAILQ_HEAD(ahc_completeq, ahc_cmd); - struct ahc_platform_data { /* * Fields accessed from interrupt context. */ struct ahc_linux_target *targets[AHC_NUM_TARGETS]; - TAILQ_HEAD(, ahc_linux_device) device_runq; - struct ahc_completeq completeq; spinlock_t spin_lock; - struct tasklet_struct runq_tasklet; u_int qfrozen; - pid_t dv_pid; - struct timer_list completeq_timer; struct timer_list reset_timer; struct semaphore eh_sem; - struct semaphore dv_sem; - struct semaphore dv_cmd_sem; /* XXX This needs to be in - * the target struct - */ - struct scsi_device *dv_scsi_dev; struct Scsi_Host *host; /* pointer to scsi host */ #define AHC_LINUX_NOIRQ ((uint32_t)~0) uint32_t irq; /* IRQ for this adapter */ uint32_t bios_address; uint32_t mem_busaddr; /* Mem Base Addr */ - uint64_t hw_dma_mask; - ahc_linux_softc_flags flags; + +#define AHC_UP_EH_SEMAPHORE 0x1 + uint32_t flags; }; /************************** OS Utility Wrappers *******************************/ @@ -594,7 +547,7 @@ ahc_insb(struct ahc_softc * ahc, long po /**************************** Initialization **********************************/ int ahc_linux_register_host(struct ahc_softc *, - Scsi_Host_Template *); + struct scsi_host_template *); uint64_t ahc_linux_get_memsize(void); @@ -615,17 +568,6 @@ static __inline void ahc_lockinit(struct static __inline void ahc_lock(struct ahc_softc *, unsigned long *flags); static __inline void ahc_unlock(struct ahc_softc *, unsigned long *flags); -/* Lock acquisition and release of the above lock in midlayer entry points. */ -static __inline void ahc_midlayer_entrypoint_lock(struct ahc_softc *, - unsigned long *flags); -static __inline void ahc_midlayer_entrypoint_unlock(struct ahc_softc *, - unsigned long *flags); - -/* Lock held during command compeletion to the upper layer */ -static __inline void ahc_done_lockinit(struct ahc_softc *); -static __inline void ahc_done_lock(struct ahc_softc *, unsigned long *flags); -static __inline void ahc_done_unlock(struct ahc_softc *, unsigned long *flags); - /* Lock held during ahc_list manipulation and ahc softc frees */ extern spinlock_t ahc_list_spinlock; static __inline void ahc_list_lockinit(void); @@ -651,57 +593,6 @@ ahc_unlock(struct ahc_softc *ahc, unsign } static __inline void -ahc_midlayer_entrypoint_lock(struct ahc_softc *ahc, unsigned long *flags) -{ - /* - * In 2.5.X and some 2.4.X versions, the midlayer takes our - * lock just before calling us, so we avoid locking again. - * For other kernel versions, the io_request_lock is taken - * just before our entry point is called. In this case, we - * trade the io_request_lock for our per-softc lock. - */ -#if AHC_SCSI_HAS_HOST_LOCK == 0 - spin_unlock(&io_request_lock); - spin_lock(&ahc->platform_data->spin_lock); -#endif -} - -static __inline void -ahc_midlayer_entrypoint_unlock(struct ahc_softc *ahc, unsigned long *flags) -{ -#if AHC_SCSI_HAS_HOST_LOCK == 0 - spin_unlock(&ahc->platform_data->spin_lock); - spin_lock(&io_request_lock); -#endif -} - -static __inline void -ahc_done_lockinit(struct ahc_softc *ahc) -{ - /* - * In 2.5.X, our own lock is held during completions. - * In previous versions, the io_request_lock is used. - * In either case, we can't initialize this lock again. - */ -} - -static __inline void -ahc_done_lock(struct ahc_softc *ahc, unsigned long *flags) -{ -#if AHC_SCSI_HAS_HOST_LOCK == 0 - spin_lock_irqsave(&io_request_lock, *flags); -#endif -} - -static __inline void -ahc_done_unlock(struct ahc_softc *ahc, unsigned long *flags) -{ -#if AHC_SCSI_HAS_HOST_LOCK == 0 - spin_unlock_irqrestore(&io_request_lock, *flags); -#endif -} - -static __inline void ahc_list_lockinit(void) { spin_lock_init(&ahc_list_spinlock); @@ -767,12 +658,6 @@ typedef enum } ahc_power_state; /**************************** VL/EISA Routines ********************************/ -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) \ - && (defined(__i386__) || defined(__alpha__)) \ - && (!defined(CONFIG_EISA))) -#define CONFIG_EISA -#endif - #ifdef CONFIG_EISA extern uint32_t aic7xxx_probe_eisa_vl; int ahc_linux_eisa_init(void); @@ -888,22 +773,18 @@ ahc_flush_device_writes(struct ahc_softc } /**************************** Proc FS Support *********************************/ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) -int ahc_linux_proc_info(char *, char **, off_t, int, int, int); -#else int ahc_linux_proc_info(struct Scsi_Host *, char *, char **, off_t, int, int); -#endif /*************************** Domain Validation ********************************/ /*********************** Transaction Access Wrappers *************************/ -static __inline void ahc_cmd_set_transaction_status(Scsi_Cmnd *, uint32_t); +static __inline void ahc_cmd_set_transaction_status(struct scsi_cmnd *, uint32_t); static __inline void ahc_set_transaction_status(struct scb *, uint32_t); -static __inline void ahc_cmd_set_scsi_status(Scsi_Cmnd *, uint32_t); +static __inline void ahc_cmd_set_scsi_status(struct scsi_cmnd *, uint32_t); static __inline void ahc_set_scsi_status(struct scb *, uint32_t); -static __inline uint32_t ahc_cmd_get_transaction_status(Scsi_Cmnd *cmd); +static __inline uint32_t ahc_cmd_get_transaction_status(struct scsi_cmnd *cmd); static __inline uint32_t ahc_get_transaction_status(struct scb *); -static __inline uint32_t ahc_cmd_get_scsi_status(Scsi_Cmnd *cmd); +static __inline uint32_t ahc_cmd_get_scsi_status(struct scsi_cmnd *cmd); static __inline uint32_t ahc_get_scsi_status(struct scb *); static __inline void ahc_set_transaction_tag(struct scb *, int, u_int); static __inline u_long ahc_get_transfer_length(struct scb *); @@ -922,7 +803,7 @@ static __inline void ahc_platform_scb_fr static __inline void ahc_freeze_scb(struct scb *scb); static __inline -void ahc_cmd_set_transaction_status(Scsi_Cmnd *cmd, uint32_t status) +void ahc_cmd_set_transaction_status(struct scsi_cmnd *cmd, uint32_t status) { cmd->result &= ~(CAM_STATUS_MASK << 16); cmd->result |= status << 16; @@ -935,7 +816,7 @@ void ahc_set_transaction_status(struct s } static __inline -void ahc_cmd_set_scsi_status(Scsi_Cmnd *cmd, uint32_t status) +void ahc_cmd_set_scsi_status(struct scsi_cmnd *cmd, uint32_t status) { cmd->result &= ~0xFFFF; cmd->result |= status; @@ -948,7 +829,7 @@ void ahc_set_scsi_status(struct scb *scb } static __inline -uint32_t ahc_cmd_get_transaction_status(Scsi_Cmnd *cmd) +uint32_t ahc_cmd_get_transaction_status(struct scsi_cmnd *cmd) { return ((cmd->result >> 16) & CAM_STATUS_MASK); } @@ -960,7 +841,7 @@ uint32_t ahc_get_transaction_status(stru } static __inline -uint32_t ahc_cmd_get_scsi_status(Scsi_Cmnd *cmd) +uint32_t ahc_cmd_get_scsi_status(struct scsi_cmnd *cmd) { return (cmd->result & 0xFFFF); } --- a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c @@ -221,13 +221,11 @@ ahc_linux_pci_dev_probe(struct pci_dev * && ahc_linux_get_memsize() > 0x80000000 && pci_set_dma_mask(pdev, mask_39bit) == 0) { ahc->flags |= AHC_39BIT_ADDRESSING; - ahc->platform_data->hw_dma_mask = mask_39bit; } else { if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { printk(KERN_WARNING "aic7xxx: No suitable DMA available.\n"); return (-ENODEV); } - ahc->platform_data->hw_dma_mask = DMA_32BIT_MASK; } ahc->dev_softc = pci; error = ahc_pci_config(ahc, entry); @@ -236,15 +234,8 @@ ahc_linux_pci_dev_probe(struct pci_dev * return (-error); } pci_set_drvdata(pdev, ahc); - if (aic7xxx_detect_complete) { -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) + if (aic7xxx_detect_complete) ahc_linux_register_host(ahc, &aic7xxx_driver_template); -#else - printf("aic7xxx: ignoring PCI device found after " - "initialization\n"); - return (-ENODEV); -#endif - } return (0); } --- a/drivers/scsi/aic7xxx/aic7xxx_proc.c +++ b/drivers/scsi/aic7xxx/aic7xxx_proc.c @@ -289,13 +289,8 @@ done: * Return information to handle /proc support for the driver. */ int -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) -ahc_linux_proc_info(char *buffer, char **start, off_t offset, - int length, int hostno, int inout) -#else ahc_linux_proc_info(struct Scsi_Host *shost, char *buffer, char **start, off_t offset, int length, int inout) -#endif { struct ahc_softc *ahc; struct info_str info; @@ -307,15 +302,7 @@ ahc_linux_proc_info(struct Scsi_Host *sh retval = -EINVAL; ahc_list_lock(&s); -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) - TAILQ_FOREACH(ahc, &ahc_tailq, links) { - if (ahc->platform_data->host->host_no == hostno) - break; - } -#else ahc = ahc_find_softc(*(struct ahc_softc **)shost->hostdata); -#endif - if (ahc == NULL) goto done; --- a/drivers/scsi/aic7xxx/aiclib.c +++ b/drivers/scsi/aic7xxx/aiclib.c @@ -35,7 +35,6 @@ #include <linux/version.h> /* Core SCSI definitions */ -#include "scsi.h" #include <scsi/scsi_host.h> #include "aiclib.h" #include "cam.h" --- a/drivers/scsi/scsi_transport_spi.c +++ b/drivers/scsi/scsi_transport_spi.c @@ -35,7 +35,7 @@ #define SPI_PRINTK(x, l, f, a...) dev_printk(l, &(x)->dev, f , ##a) -#define SPI_NUM_ATTRS 10 /* increase this if you add attributes */ +#define SPI_NUM_ATTRS 13 /* increase this if you add attributes */ #define SPI_OTHER_ATTRS 1 /* Increase this if you add "always * on" attributes */ #define SPI_HOST_ATTRS 1 @@ -219,8 +219,11 @@ static int spi_setup_transport_attrs(str struct scsi_target *starget = to_scsi_target(dev); spi_period(starget) = -1; /* illegal value */ + spi_min_period(starget) = 0; spi_offset(starget) = 0; /* async */ + spi_max_offset(starget) = 255; spi_width(starget) = 0; /* narrow */ + spi_max_width(starget) = 1; spi_iu(starget) = 0; /* no IU */ spi_dt(starget) = 0; /* ST */ spi_qas(starget) = 0; @@ -235,6 +238,34 @@ static int spi_setup_transport_attrs(str return 0; } +#define spi_transport_show_simple(field, format_string) \ + \ +static ssize_t \ +show_spi_transport_##field(struct class_device *cdev, char *buf) \ +{ \ + struct scsi_target *starget = transport_class_to_starget(cdev); \ + struct spi_transport_attrs *tp; \ + \ + tp = (struct spi_transport_attrs *)&starget->starget_data; \ + return snprintf(buf, 20, format_string, tp->field); \ +} + +#define spi_transport_store_simple(field, format_string) \ + \ +static ssize_t \ +store_spi_transport_##field(struct class_device *cdev, const char *buf, \ + size_t count) \ +{ \ + int val; \ + struct scsi_target *starget = transport_class_to_starget(cdev); \ + struct spi_transport_attrs *tp; \ + \ + tp = (struct spi_transport_attrs *)&starget->starget_data; \ + val = simple_strtoul(buf, NULL, 0); \ + tp->field = val; \ + return count; \ +} + #define spi_transport_show_function(field, format_string) \ \ static ssize_t \ @@ -261,6 +292,25 @@ store_spi_transport_##field(struct class struct spi_internal *i = to_spi_internal(shost->transportt); \ \ val = simple_strtoul(buf, NULL, 0); \ + i->f->set_##field(starget, val); \ + return count; \ +} + +#define spi_transport_store_max(field, format_string) \ +static ssize_t \ +store_spi_transport_##field(struct class_device *cdev, const char *buf, \ + size_t count) \ +{ \ + int val; \ + struct scsi_target *starget = transport_class_to_starget(cdev); \ + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); \ + struct spi_internal *i = to_spi_internal(shost->transportt); \ + struct spi_transport_attrs *tp \ + = (struct spi_transport_attrs *)&starget->starget_data; \ + \ + val = simple_strtoul(buf, NULL, 0); \ + if (val > tp->max_##field) \ + val = tp->max_##field; \ i->f->set_##field(starget, val); \ return count; \ } @@ -272,9 +322,24 @@ static CLASS_DEVICE_ATTR(field, S_IRUGO show_spi_transport_##field, \ store_spi_transport_##field); +#define spi_transport_simple_attr(field, format_string) \ + spi_transport_show_simple(field, format_string) \ + spi_transport_store_simple(field, format_string) \ +static CLASS_DEVICE_ATTR(field, S_IRUGO | S_IWUSR, \ + show_spi_transport_##field, \ + store_spi_transport_##field); + +#define spi_transport_max_attr(field, format_string) \ + spi_transport_show_function(field, format_string) \ + spi_transport_store_max(field, format_string) \ + spi_transport_simple_attr(max_##field, format_string) \ +static CLASS_DEVICE_ATTR(field, S_IRUGO | S_IWUSR, \ + show_spi_transport_##field, \ + store_spi_transport_##field); + /* The Parallel SCSI Tranport Attributes: */ -spi_transport_rd_attr(offset, "%d\n"); -spi_transport_rd_attr(width, "%d\n"); +spi_transport_max_attr(offset, "%d\n"); +spi_transport_max_attr(width, "%d\n"); spi_transport_rd_attr(iu, "%d\n"); spi_transport_rd_attr(dt, "%d\n"); spi_transport_rd_attr(qas, "%d\n"); @@ -300,26 +365,18 @@ static CLASS_DEVICE_ATTR(revalidate, S_I /* Translate the period into ns according to the current spec * for SDTR/PPR messages */ -static ssize_t show_spi_transport_period(struct class_device *cdev, char *buf) - +static ssize_t +show_spi_transport_period_helper(struct class_device *cdev, char *buf, + int period) { - struct scsi_target *starget = transport_class_to_starget(cdev); - struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); - struct spi_transport_attrs *tp; int len, picosec; - struct spi_internal *i = to_spi_internal(shost->transportt); - - tp = (struct spi_transport_attrs *)&starget->starget_data; - - if (i->f->get_period) - i->f->get_period(starget); - if (tp->period < 0 || tp->period > 0xff) { + if (period < 0 || period > 0xff) { picosec = -1; - } else if (tp->period <= SPI_STATIC_PPR) { - picosec = ppr_to_ps[tp->period]; + } else if (period <= SPI_STATIC_PPR) { + picosec = ppr_to_ps[period]; } else { - picosec = tp->period * 4000; + picosec = period * 4000; } if (picosec == -1) { @@ -334,12 +391,9 @@ static ssize_t show_spi_transport_period } static ssize_t -store_spi_transport_period(struct class_device *cdev, const char *buf, - size_t count) +store_spi_transport_period_helper(struct class_device *cdev, const char *buf, + size_t count, int *periodp) { - struct scsi_target *starget = transport_class_to_starget(cdev); - struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); - struct spi_internal *i = to_spi_internal(shost->transportt); int j, picosec, period = -1; char *endp; @@ -368,15 +422,79 @@ store_spi_transport_period(struct class_ if (period > 0xff) period = 0xff; - i->f->set_period(starget, period); + *periodp = period; return count; } +static ssize_t +show_spi_transport_period(struct class_device *cdev, char *buf) +{ + struct scsi_target *starget = transport_class_to_starget(cdev); + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct spi_internal *i = to_spi_internal(shost->transportt); + struct spi_transport_attrs *tp = + (struct spi_transport_attrs *)&starget->starget_data; + + if (i->f->get_period) + i->f->get_period(starget); + + return show_spi_transport_period_helper(cdev, buf, tp->period); +} + +static ssize_t +store_spi_transport_period(struct class_device *cdev, const char *buf, + size_t count) +{ + struct scsi_target *starget = transport_class_to_starget(cdev); + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct spi_internal *i = to_spi_internal(shost->transportt); + struct spi_transport_attrs *tp = + (struct spi_transport_attrs *)&starget->starget_data; + int period, retval; + + retval = store_spi_transport_period_helper(cdev, buf, count, &period); + + if (period < tp->min_period) + period = tp->min_period; + + i->f->set_period(starget, period); + + return retval; +} + static CLASS_DEVICE_ATTR(period, S_IRUGO | S_IWUSR, show_spi_transport_period, store_spi_transport_period); +static ssize_t +show_spi_transport_min_period(struct class_device *cdev, char *buf) +{ + struct scsi_target *starget = transport_class_to_starget(cdev); + struct spi_transport_attrs *tp = + (struct spi_transport_attrs *)&starget->starget_data; + + return show_spi_transport_period_helper(cdev, buf, tp->min_period); +} + +static ssize_t +store_spi_transport_min_period(struct class_device *cdev, const char *buf, + size_t count) +{ + struct scsi_target *starget = transport_class_to_starget(cdev); + struct spi_transport_attrs *tp = + (struct spi_transport_attrs *)&starget->starget_data; + + return store_spi_transport_period_helper(cdev, buf, count, + &tp->min_period); +} + + +static CLASS_DEVICE_ATTR(min_period, S_IRUGO | S_IWUSR, + show_spi_transport_min_period, + store_spi_transport_min_period); + + static ssize_t show_spi_host_signalling(struct class_device *cdev, char *buf) { struct Scsi_Host *shost = transport_class_to_shost(cdev); @@ -642,6 +760,7 @@ spi_dv_device_internal(struct scsi_reque { struct spi_internal *i = to_spi_internal(sreq->sr_host->transportt); struct scsi_device *sdev = sreq->sr_device; + struct scsi_target *starget = sdev->sdev_target; int len = sdev->inquiry_len; /* first set us up for narrow async */ DV_SET(offset, 0); @@ -655,9 +774,11 @@ spi_dv_device_internal(struct scsi_reque } /* test width */ - if (i->f->set_width && sdev->wdtr) { + if (i->f->set_width && spi_max_width(starget) && sdev->wdtr) { i->f->set_width(sdev->sdev_target, 1); + printk("WIDTH IS %d\n", spi_max_width(starget)); + if (spi_dv_device_compare_inquiry(sreq, buffer, buffer + len, DV_LOOPS) @@ -684,8 +805,8 @@ spi_dv_device_internal(struct scsi_reque retry: /* now set up to the maximum */ - DV_SET(offset, 255); - DV_SET(period, 1); + DV_SET(offset, spi_max_offset(starget)); + DV_SET(period, spi_min_period(starget)); if (len == 0) { SPI_PRINTK(sdev->sdev_target, KERN_INFO, "Domain Validation skipping write tests\n"); @@ -892,6 +1013,16 @@ EXPORT_SYMBOL(spi_display_xfer_agreement if (i->f->show_##field) \ count++ +#define SETUP_RELATED_ATTRIBUTE(field, rel_field) \ + i->private_attrs[count] = class_device_attr_##field; \ + if (!i->f->set_##rel_field) { \ + i->private_attrs[count].attr.mode = S_IRUGO; \ + i->private_attrs[count].store = NULL; \ + } \ + i->attrs[count] = &i->private_attrs[count]; \ + if (i->f->show_##rel_field) \ + count++ + #define SETUP_HOST_ATTRIBUTE(field) \ i->private_host_attrs[count] = class_device_attr_##field; \ if (!i->f->set_##field) { \ @@ -975,8 +1106,11 @@ spi_attach_transport(struct spi_function i->f = ft; SETUP_ATTRIBUTE(period); + SETUP_RELATED_ATTRIBUTE(min_period, period); SETUP_ATTRIBUTE(offset); + SETUP_RELATED_ATTRIBUTE(max_offset, offset); SETUP_ATTRIBUTE(width); + SETUP_RELATED_ATTRIBUTE(max_width, width); SETUP_ATTRIBUTE(iu); SETUP_ATTRIBUTE(dt); SETUP_ATTRIBUTE(qas); --- a/include/scsi/scsi_transport_spi.h +++ b/include/scsi/scsi_transport_spi.h @@ -27,8 +27,11 @@ struct scsi_transport_template; struct spi_transport_attrs { int period; /* value in the PPR/SDTR command */ + int min_period; int offset; + int max_offset; unsigned int width:1; /* 0 - narrow, 1 - wide */ + unsigned int max_width:1; unsigned int iu:1; /* Information Units enabled */ unsigned int dt:1; /* DT clocking enabled */ unsigned int qas:1; /* Quick Arbitration and Selection enabled */ @@ -63,8 +66,11 @@ struct spi_host_attrs { /* accessor functions */ #define spi_period(x) (((struct spi_transport_attrs *)&(x)->starget_data)->period) +#define spi_min_period(x) (((struct spi_transport_attrs *)&(x)->starget_data)->min_period) #define spi_offset(x) (((struct spi_transport_attrs *)&(x)->starget_data)->offset) +#define spi_max_offset(x) (((struct spi_transport_attrs *)&(x)->starget_data)->max_offset) #define spi_width(x) (((struct spi_transport_attrs *)&(x)->starget_data)->width) +#define spi_max_width(x) (((struct spi_transport_attrs *)&(x)->starget_data)->max_width) #define spi_iu(x) (((struct spi_transport_attrs *)&(x)->starget_data)->iu) #define spi_dt(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dt) #define spi_qas(x) (((struct spi_transport_attrs *)&(x)->starget_data)->qas) ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-19 23:56 ` James Bottomley @ 2005-05-20 1:05 ` K.R. Foley 2005-05-20 1:17 ` James Bottomley 2005-05-20 10:09 ` Dinakar Guniguntala 1 sibling, 1 reply; 77+ messages in thread From: K.R. Foley @ 2005-05-20 1:05 UTC (permalink / raw) To: James Bottomley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List James Bottomley wrote: > On Thu, 2005-05-19 at 15:21 +0530, Dinakar Guniguntala wrote: > >>This doesn't seem to fix the problem :( >>I tried both 2.6.12-rc4+patch and 2.6.4-rc4-mm1+patch > > > Well ... great, it doesn't work for anyone, sigh. > > OK, could you try this one (also against vanilla 2.6.12-rc4). Hopefully > it's a rollup of all the aic7xxx changes plus the necessary supporting > infrastructure in my scsi-misc tree. > > If it works, trying to get it into a patch set for Linus is going to be > a right pain ... > > James > <snip> James, It does work with the exception that my u160 drive is still identified as 80MB/s. May 19 19:36:46 porky kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 19 19:36:46 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 19 19:36:46 porky kernel: aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs May 19 19:36:46 porky kernel: May 19 19:36:46 porky kernel: Vendor: QUANTUM Model: ATLAS10K2-TY092L Rev: DA40 May 19 19:36:46 porky kernel: Type: Direct-Access ANSI SCSI revision: 03 May 19 19:36:46 porky kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 32 May 19 19:36:46 porky kernel: target0:0:0: Beginning Domain Validation May 19 19:36:46 porky kernel: WIDTH IS 1 May 19 19:36:46 porky kernel: (scsi0:A:0): 6.600MB/s transfers (16bit) May 19 19:36:46 porky kernel: (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 127, 16bit) May 19 19:36:46 porky kernel: target0:0:0: Ending Domain Validation May 19 19:36:46 porky kernel: scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 19 19:36:46 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 19 19:36:46 porky kernel: aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs May 19 19:36:46 porky kernel: May 19 19:36:46 porky kernel: Vendor: SEAGATE Model: SX118273LC Rev: 6679 May 19 19:36:46 porky kernel: Type: Direct-Access ANSI SCSI revision: 02 May 19 19:36:46 porky kernel: scsi1:A:0:0: Tagged Queuing enabled. Depth 32 May 19 19:36:46 porky kernel: target1:0:0: Beginning Domain Validation May 19 19:36:46 porky kernel: target1:0:0: Domain Validation skipping write tests May 19 19:36:46 porky kernel: (scsi1:A:0): 20.000MB/s transfers (20.000MHz, offset 15) May 19 19:36:46 porky kernel: target1:0:0: Ending Domain Validation May 19 19:36:46 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 19 19:36:46 porky kernel: SCSI device sda: drive cache: write back May 19 19:36:46 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 19 19:36:46 porky kernel: SCSI device sda: drive cache: write back May 19 19:36:46 porky kernel: sda: sda1 sda2 sda3 May 19 19:36:46 porky kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 May 19 19:36:46 porky kernel: SCSI device sdb: 35566480 512-byte hdwr sectors (18210 MB) May 19 19:36:46 porky kernel: SCSI device sdb: drive cache: write through May 19 19:36:46 porky kernel: SCSI device sdb: 35566480 512-byte hdwr sectors (18210 MB) May 19 19:36:46 porky kernel: SCSI device sdb: drive cache: write through May 19 14:36:26 porky rc.sysinit: -e May 19 19:36:46 porky kernel: sdb: sdb1 May 19 14:36:28 porky udevsend[1227]: starting udevd daemon May 19 19:36:46 porky kernel: Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0 May 19 14:36:28 porky scsi.agent[1239]: disk at /devices/pci0000:00/0000:00:1e.0/0000:04:05.0/host0/target0:0:0/0:0:0:0 May 19 19:36:46 porky kernel: Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 May 19 14:36:28 porky scsi.agent[1264]: disk at /devices/pci0000:00/0000:00:1e.0/0000:04:05.1/host1/target1:0:0/1:0:0:0 May 19 19:36:46 porky kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0, type 0 -- kr ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-20 1:05 ` K.R. Foley @ 2005-05-20 1:17 ` James Bottomley 2005-05-20 1:32 ` K.R. Foley 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-20 1:17 UTC (permalink / raw) To: K.R. Foley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Thu, 2005-05-19 at 20:05 -0500, K.R. Foley wrote: > It does work with the exception that my u160 drive is still identified > as 80MB/s. Well, that's some good news, at least. > May 19 19:36:46 porky kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 32 > May 19 19:36:46 porky kernel: target0:0:0: Beginning Domain Validation > May 19 19:36:46 porky kernel: WIDTH IS 1 > May 19 19:36:46 porky kernel: (scsi0:A:0): 6.600MB/s transfers (16bit) > May 19 19:36:46 porky kernel: (scsi0:A:0): 80.000MB/s transfers > (40.000MHz, offset 127, 16bit) OK, it looks like the period is limited to 25ns. Could you confirm this? cat /sys/class/spi_transport/target0:0:0/period cat /sys/class/spi_transport/target0:0:0/max_period Now, if the max_period is 25, try doing echo 12.5 > /sys/class/spi_transport/target0:0:0/max_period and then echo 1 > /sys/class/spi_transport/target0:0:0/revalidate to trigger a revalidation of the domain and see if it comes up to 160. Thanks, James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-20 1:17 ` James Bottomley @ 2005-05-20 1:32 ` K.R. Foley 2005-05-20 1:33 ` James Bottomley 2005-05-20 1:40 ` James Bottomley 0 siblings, 2 replies; 77+ messages in thread From: K.R. Foley @ 2005-05-20 1:32 UTC (permalink / raw) To: James Bottomley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List James Bottomley wrote: > On Thu, 2005-05-19 at 20:05 -0500, K.R. Foley wrote: > >>It does work with the exception that my u160 drive is still identified >>as 80MB/s. > > > Well, that's some good news, at least. > > >>May 19 19:36:46 porky kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 32 >>May 19 19:36:46 porky kernel: target0:0:0: Beginning Domain Validation >>May 19 19:36:46 porky kernel: WIDTH IS 1 >>May 19 19:36:46 porky kernel: (scsi0:A:0): 6.600MB/s transfers (16bit) >>May 19 19:36:46 porky kernel: (scsi0:A:0): 80.000MB/s transfers >>(40.000MHz, offset 127, 16bit) > > > OK, it looks like the period is limited to 25ns. Could you confirm > this? > > cat /sys/class/spi_transport/target0:0:0/period this is 25 > cat /sys/class/spi_transport/target0:0:0/max_period this doesn't exist, but i bet you knew that > > Now, if the max_period is 25, try doing > > echo 12.5 > /sys/class/spi_transport/target0:0:0/max_period actually put this into period but it didn't take :-( period is still 25 and before you ask min_period is 12.5 > > and then > > echo 1 > /sys/class/spi_transport/target0:0:0/revalidate did this anyway and this is what i got May 19 20:21:45 porky kernel: target0:0:0: Beginning Domain Validation May 19 20:21:45 porky kernel: (scsi0:A:0): 3.300MB/s transfers May 19 20:21:45 porky kernel: WIDTH IS 1 May 19 20:21:46 porky kernel: (scsi0:A:0): 6.600MB/s transfers (16bit) May 19 20:21:46 porky kernel: (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 127, 16bit) May 19 20:21:46 porky kernel: target0:0:0: Ending Domain Validation Any idea why I can't set the period to 12.5? I am going to see if anything jumps out at me. > > to trigger a revalidation of the domain and see if it comes up to 160. > > Thanks, > > James > > > -- kr ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-20 1:32 ` K.R. Foley @ 2005-05-20 1:33 ` James Bottomley 2005-05-20 1:40 ` James Bottomley 1 sibling, 0 replies; 77+ messages in thread From: James Bottomley @ 2005-05-20 1:33 UTC (permalink / raw) To: K.R. Foley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Thu, 2005-05-19 at 20:32 -0500, K.R. Foley wrote: > > cat /sys/class/spi_transport/target0:0:0/max_period > > this doesn't exist, but i bet you knew that Doh, sorry, brain malfunction. That should be min_period ... James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-20 1:32 ` K.R. Foley 2005-05-20 1:33 ` James Bottomley @ 2005-05-20 1:40 ` James Bottomley 2005-05-20 1:54 ` K.R. Foley 1 sibling, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-20 1:40 UTC (permalink / raw) To: K.R. Foley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Thu, 2005-05-19 at 20:32 -0500, K.R. Foley wrote: > Any idea why I can't set the period to 12.5? I am going to see if > anything jumps out at me. what's the dt setting? if it's zero, try setting it to one and then lowering the period to 12.5 but don't trigger a revalidate this time, try reading or writing to the disk and then see what the settings come back as. James ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-20 1:40 ` James Bottomley @ 2005-05-20 1:54 ` K.R. Foley 2005-05-20 2:30 ` James Bottomley 0 siblings, 1 reply; 77+ messages in thread From: K.R. Foley @ 2005-05-20 1:54 UTC (permalink / raw) To: James Bottomley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List James Bottomley wrote: > On Thu, 2005-05-19 at 20:32 -0500, K.R. Foley wrote: > >>Any idea why I can't set the period to 12.5? I am going to see if >>anything jumps out at me. > > > what's the dt setting? if it's zero, try setting it to one and then > lowering the period to 12.5 but don't trigger a revalidate this time, > try reading or writing to the disk and then see what the settings come > back as. > > James > > > the dt setting is 0. can't set it to 1, at least not so that you can see it stay that way. tried setting period to 12.5, stays at 25. min_period is set to 12.5 but doesn't seem to matter. what's next :) -- kr ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-20 1:54 ` K.R. Foley @ 2005-05-20 2:30 ` James Bottomley 2005-05-20 3:06 ` K.R. Foley 0 siblings, 1 reply; 77+ messages in thread From: James Bottomley @ 2005-05-20 2:30 UTC (permalink / raw) To: K.R. Foley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Thu, 2005-05-19 at 20:54 -0500, K.R. Foley wrote: > the dt setting is 0. can't set it to 1, at least not so that you can see > it stay that way. tried setting period to 12.5, stays at 25. min_period > is set to 12.5 but doesn't seem to matter. what's next :) Well, I think it's my fault. I naively assumed the aic7xxx core setting code would do the right thing with coupled parameters, which, as I read through it, apparently it doesn't do. My excuse is that I can't test any of this because my fastest aic7xxx card is only a U2 ... Could you try this, I think it does the correct thing with the coupled parameters. Thanks, James --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -2679,6 +2679,11 @@ static void ahc_linux_set_period(struct if (offset == 0) offset = MAX_OFFSET; + if (period < 9) + period = 9; /* 12.5ns is our minimum */ + if (period == 9) + ppr_options |= MSG_EXT_PPR_DT_REQ; + ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0, starget->channel + 'A', ROLE_INITIATOR); @@ -2764,6 +2769,12 @@ static void ahc_linux_set_dt(struct scsi unsigned long flags; struct ahc_syncrate *syncrate; + if (dt) { + period = 9; /* 12.5ns is the only period valid for DT */ + ppr_options |= MSG_EXT_PPR_DT_REQ; + } else if (period == 9) + period = 10; /* if resetting DT, period must be >= 25ns */ + ahc_compile_devinfo(&devinfo, shost->this_id, starget->id, 0, starget->channel + 'A', ROLE_INITIATOR); syncrate = ahc_find_syncrate(ahc, &period, &ppr_options,AHC_SYNCRATE_DT); ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-20 2:30 ` James Bottomley @ 2005-05-20 3:06 ` K.R. Foley 0 siblings, 0 replies; 77+ messages in thread From: K.R. Foley @ 2005-05-20 3:06 UTC (permalink / raw) To: James Bottomley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List James Bottomley wrote: > On Thu, 2005-05-19 at 20:54 -0500, K.R. Foley wrote: > >>the dt setting is 0. can't set it to 1, at least not so that you can see >>it stay that way. tried setting period to 12.5, stays at 25. min_period >>is set to 12.5 but doesn't seem to matter. what's next :) > > > Well, I think it's my fault. I naively assumed the aic7xxx core setting > code would do the right thing with coupled parameters, which, as I read > through it, apparently it doesn't do. > > My excuse is that I can't test any of this because my fastest aic7xxx > card is only a U2 ... > > Could you try this, I think it does the correct thing with the coupled > parameters. > > Thanks, > > James > James, Looks like a winner this time. If there is something else I can test, just let me know. May 19 21:46:43 porky kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 19 21:46:43 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 19 21:46:43 porky kernel: aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs May 19 21:46:43 porky kernel: May 19 21:46:43 porky kernel: Vendor: QUANTUM Model: ATLAS10K2-TY092L Rev: DA40 May 19 21:46:43 porky kernel: Type: Direct-Access ANSI SCSI revision: 03 May 19 21:46:43 porky kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 32 May 19 21:46:43 porky kernel: target0:0:0: Beginning Domain Validation May 19 21:46:43 porky kernel: WIDTH IS 1 May 19 21:46:43 porky kernel: (scsi0:A:0): 6.600MB/s transfers (16bit) May 19 21:46:43 porky kernel: (scsi0:A:0): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit) May 19 21:46:43 porky kernel: target0:0:0: Ending Domain Validation May 19 21:46:43 porky kernel: scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 19 21:46:43 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 19 21:46:43 porky kernel: aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs May 19 21:46:43 porky kernel: May 19 21:46:43 porky kernel: Vendor: SEAGATE Model: SX118273LC Rev: 6679 May 19 21:46:43 porky kernel: Type: Direct-Access ANSI SCSI revision: 02 May 19 21:46:43 porky kernel: scsi1:A:0:0: Tagged Queuing enabled. Depth 32 May 19 21:46:43 porky kernel: target1:0:0: Beginning Domain Validation May 19 21:46:43 porky kernel: target1:0:0: Domain Validation skipping write tests May 19 21:46:44 porky kernel: (scsi1:A:0): 20.000MB/s transfers (20.000MHz, offset 15) May 19 21:46:44 porky kernel: target1:0:0: Ending Domain Validation May 19 21:46:44 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 19 21:46:44 porky kernel: SCSI device sda: drive cache: write back May 19 21:46:44 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 19 21:46:44 porky kernel: SCSI device sda: drive cache: write back May 19 21:46:44 porky kernel: sda: sda1 sda2 sda3 May 19 21:46:44 porky kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 May 19 21:46:44 porky kernel: SCSI device sdb: 35566480 512-byte hdwr sectors (18210 MB) May 19 21:46:44 porky kernel: SCSI device sdb: drive cache: write through May 19 21:46:44 porky kernel: SCSI device sdb: 35566480 512-byte hdwr sectors (18210 MB) May 19 21:46:44 porky kernel: SCSI device sdb: drive cache: write through May 19 21:46:44 porky kernel: sdb: sdb1 May 19 16:46:23 porky rc.sysinit: -e May 19 21:46:44 porky kernel: Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0 May 19 16:46:25 porky udevsend[1281]: starting udevd daemon May 19 21:46:44 porky kernel: Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 May 19 16:46:25 porky scsi.agent[1293]: disk at /devices/pci0000:00/0000:00:1e.0/0000:04:05.0/host0/target0:0:0/0:0:0:0 May 19 21:46:44 porky kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0, type 0 May 19 16:46:25 porky scsi.agent[1318]: disk at /devices/pci0000:00/0000:00:1e.0/0000:04:05.1/host1/target1:0:0/1:0:0:0 -- kr ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-19 23:56 ` James Bottomley 2005-05-20 1:05 ` K.R. Foley @ 2005-05-20 10:09 ` Dinakar Guniguntala 1 sibling, 0 replies; 77+ messages in thread From: Dinakar Guniguntala @ 2005-05-20 10:09 UTC (permalink / raw) To: James Bottomley Cc: K.R. Foley, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List On Thu, May 19, 2005 at 06:56:10PM -0500, James Bottomley wrote: > > OK, could you try this one (also against vanilla 2.6.12-rc4). Hopefully > it's a rollup of all the aic7xxx changes plus the necessary supporting > infrastructure in my scsi-misc tree. > This works fine for me with 2.6.12-rc4, Thanks I would appreciate if you can send this to -mm too -Dinakar ^ permalink raw reply [flat|nested] 77+ messages in thread
* Re: What breaks aic7xxx in post 2.6.12-rc2 ? 2005-05-19 4:23 ` James Bottomley 2005-05-19 9:51 ` Dinakar Guniguntala @ 2005-05-19 11:27 ` K.R. Foley 1 sibling, 0 replies; 77+ messages in thread From: K.R. Foley @ 2005-05-19 11:27 UTC (permalink / raw) To: James Bottomley Cc: dino, Andrew Morton, gregoire.favre, Linux Kernel, SCSI Mailing List James Bottomley wrote: > On Wed, 2005-05-18 at 22:07 -0500, K.R. Foley wrote: > >>This also solves my problem that I reported in this thread >>http://marc.theaimsgroup.com/?l=linux-scsi&m=111422854418964&w=2 > > > OK, I think the patch below is the extract of this. Could you see if it > works by simply patching vanilla 2.6.12-rc4 with no other SCSI patches > (if it does, I'll push it for 2.6.12 final). > > James <snip> James, Below is what I get WHEN IT BOOTS. There are also a couple more logs and notes in between. ######################################################################### May 19 06:04:22 porky kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 19 06:04:22 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 19 06:04:22 porky kernel: aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs May 19 06:04:22 porky kernel: May 19 06:04:22 porky kernel: Vendor: QUANTUM Model: ATLAS10K2-TY092L Rev: DA40 May 19 06:04:22 porky kernel: Type: Direct-Access ANSI SCSI revision: 03 May 19 06:04:22 porky kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 32 May 19 06:04:22 porky kernel: target0:0:0: Beginning Domain Validation May 19 06:04:22 porky kernel: (scsi0:A:0): 6.600MB/s transfers (16bit) May 19 06:04:22 porky kernel: (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 127, 16bit) May 19 06:04:22 porky kernel: target0:0:0: Ending Domain Validation May 19 06:04:22 porky kernel: scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 19 06:04:22 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 19 06:04:22 porky kernel: aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs May 19 06:04:22 porky kernel: May 19 06:04:22 porky kernel: Vendor: SEAGATE Model: SX118273LC Rev: 6679 May 19 06:04:22 porky kernel: Type: Direct-Access ANSI SCSI revision: 02 May 19 06:04:22 porky kernel: scsi1:A:0:0: Tagged Queuing enabled. Depth 32 May 19 06:04:22 porky kernel: target1:0:0: Beginning Domain Validation May 19 06:04:22 porky kernel: (scsi1:A:0): 6.600MB/s transfers (16bit) May 19 06:04:22 porky kernel: (scsi1:A:0:0): parity error detected in Data-in phase. SEQADDR(0x1a6) SCSIRATE(0x80) May 19 06:04:22 porky kernel: (scsi1:A:0:0): parity error detected in Message-in phase. SEQADDR(0x1a6) SCSIRATE(0x80) May 19 06:04:22 porky kernel: (scsi1:A:0:0): Unexpected busfree in Message-out phase May 19 06:04:22 porky kernel: SEQADDR == 0x16b May 19 06:04:22 porky kernel: target1:0:0: Wide Transfers Fail May 19 06:04:22 porky kernel: (scsi1:A:0): 3.300MB/s transfers May 19 06:04:22 porky kernel: target1:0:0: Domain Validation skipping write tests May 19 06:04:22 porky kernel: (scsi1:A:0): 20.000MB/s transfers (20.000MHz, offset 15) May 19 06:04:22 porky kernel: target1:0:0: Ending Domain Validation May 19 06:04:22 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 19 06:04:22 porky kernel: SCSI device sda: drive cache: write back May 19 06:04:22 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 19 06:04:22 porky kernel: SCSI device sda: drive cache: write back May 19 06:04:22 porky kernel: sda: sda1 sda2 sda3 May 19 06:04:22 porky kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 May 19 06:04:22 porky kernel: SCSI device sdb: 35566480 512-byte hdwr sectors (18210 MB) May 19 06:04:22 porky kernel: SCSI device sdb: drive cache: write through May 19 06:04:22 porky kernel: SCSI device sdb: 35566480 512-byte hdwr sectors (18210 MB) May 19 06:04:22 porky kernel: SCSI device sdb: drive cache: write through May 19 01:04:03 porky rc.sysinit: -e May 19 06:04:22 porky kernel: sdb: sdb1 May 19 01:04:04 porky udevsend[1251]: starting udevd daemon May 19 06:04:22 porky kernel: Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0 May 19 01:04:05 porky scsi.agent[1263]: disk at /devices/pci0000:00/0000:00:1e.0/0000:04:05.0/host0/target0:0:0/0:0:0:0 May 19 06:04:23 porky kernel: Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 May 19 01:04:05 porky scsi.agent[1288]: disk at /devices/pci0000:00/0000:00:1e.0/0000:04:05.1/host1/target1:0:0/1:0:0:0 May 19 06:04:23 porky kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0, type 0 ############################################################################### Even with the patch that you posted last night something still isn't quite right. Notice in the output below that the faster drive is setup at 80MB/s instead of 160MB/s. It's like going back to the days before U160 stuff worked properly :) ############################################################################### May 18 21:56:25 porky kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 18 21:56:25 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 18 21:56:25 porky kernel: aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs May 18 21:56:25 porky kernel: May 18 21:56:25 porky kernel: Vendor: QUANTUM Model: ATLAS10K2-TY092L Rev: DA40 May 18 21:56:25 porky kernel: Type: Direct-Access ANSI SCSI revision: 03 May 18 21:56:25 porky kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 32 May 18 21:56:25 porky kernel: target0:0:0: Beginning Domain Validation May 18 21:56:25 porky kernel: WIDTH IS 1 May 18 21:56:25 porky kernel: (scsi0:A:0): 6.600MB/s transfers (16bit) May 18 21:56:25 porky kernel: (scsi0:A:0): 80.000MB/s transfers (40.000MHz, offset 127, 16bit) May 18 21:56:25 porky kernel: target0:0:0: Ending Domain Validation May 18 21:56:25 porky kernel: scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 18 21:56:25 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 18 21:56:25 porky kernel: aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs May 18 21:56:25 porky kernel: May 18 21:56:25 porky kernel: Vendor: SEAGATE Model: SX118273LC Rev: 6679 May 18 21:56:25 porky kernel: Type: Direct-Access ANSI SCSI revision: 02 May 18 21:56:25 porky kernel: scsi1:A:0:0: Tagged Queuing enabled. Depth 32 May 18 21:56:25 porky kernel: target1:0:0: Beginning Domain Validation May 18 21:56:25 porky kernel: target1:0:0: Domain Validation skipping write tests May 18 21:56:25 porky kernel: (scsi1:A:0): 20.000MB/s transfers (20.000MHz, offset 15) May 18 21:56:25 porky kernel: target1:0:0: Ending Domain Validation May 18 21:56:25 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 18 21:56:25 porky kernel: SCSI device sda: drive cache: write back May 18 21:56:25 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 18 21:56:25 porky kernel: SCSI device sda: drive cache: write back May 18 21:56:25 porky kernel: sda: sda1 sda2 sda3 May 18 21:56:25 porky kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 May 18 21:56:25 porky kernel: SCSI device sdb: 35566480 512-byte hdwr sectors (18210 MB) May 18 21:56:25 porky kernel: SCSI device sdb: drive cache: write through May 18 16:56:04 porky rc.sysinit: -e May 18 21:56:25 porky kernel: SCSI device sdb: 35566480 512-byte hdwr sectors (18210 MB) May 18 16:56:06 porky udevsend[1281]: starting udevd daemon May 18 21:56:25 porky kernel: SCSI device sdb: drive cache: write through May 18 16:56:06 porky scsi.agent[1293]: disk at /devices/pci0000:00/0000:00:1e.0/0000:04:05.0/host0/target0:0:0/0:0:0:0 May 18 21:56:25 porky kernel: sdb: sdb1 May 18 16:56:06 porky scsi.agent[1318]: disk at /devices/pci0000:00/0000:00:1e.0/0000:04:05.1/host1/target1:0:0/1:0:0:0 May 18 21:56:25 porky kernel: Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0 May 18 16:56:06 porky udevsend[1334]: starting udevd daemon May 18 21:56:25 porky kernel: Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0 May 18 16:56:11 porky start_udev: Starting udev: succeeded May 18 21:56:25 porky kernel: Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0, type 0 ################################################################################# And then finally the output this morning of booting 2.6.12-rc2 (with RT patches applied, which is irrelevant to this conversation). This one does properly setup all of the drives. ################################################################################# May 19 05:52:00 porky kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 19 05:52:00 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 19 05:52:00 porky kernel: aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs May 19 05:52:00 porky kernel: May 19 05:52:00 porky kernel: (scsi0:A:0): 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit) May 19 05:52:00 porky kernel: Vendor: QUANTUM Model: ATLAS10K2-TY092L Rev: DA40 May 19 05:52:00 porky kernel: Type: Direct-Access ANSI SCSI revision: 03 May 19 05:52:00 porky kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 32 May 19 05:52:00 porky kernel: scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36 May 19 05:52:00 porky kernel: <Adaptec aic7899 Ultra160 SCSI adapter> May 19 05:52:00 porky kernel: aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs May 19 05:52:00 porky kernel: May 19 05:52:00 porky kernel: (scsi1:A:0): 20.000MB/s transfers (20.000MHz, offset 15) May 19 05:52:00 porky kernel: Vendor: SEAGATE Model: SX118273LC Rev: 6679 May 19 05:52:00 porky netfs: Mounting other filesystems: succeeded May 19 05:52:00 porky kernel: Type: Direct-Access ANSI SCSI revision: 02 May 19 05:52:00 porky kernel: scsi1:A:0:0: Tagged Queuing enabled. Depth 32 May 19 05:52:00 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 19 05:52:00 porky kernel: SCSI device sda: drive cache: write back May 19 05:52:00 porky kernel: SCSI device sda: 17783239 512-byte hdwr sectors (9105 MB) May 19 05:52:00 porky kernel: SCSI device sda: drive cache: write back May 19 05:52:00 porky kernel: sda: sda1 sda2 sda3 May 19 05:52:00 porky kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 -- kr ^ permalink raw reply [flat|nested] 77+ messages in thread
end of thread, other threads:[~2005-06-15 20:52 UTC | newest] Thread overview: 77+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-05-16 8:58 What breaks aic7xxx in post 2.6.12-rc2 ? Grégoire Favre 2005-05-16 15:03 ` Jesper Juhl 2005-05-16 15:12 ` What breaks aic7xxx in post 2.6.12-rc2 ? (on amd64 ?) Grégoire Favre 2005-05-16 15:31 ` Jesper Juhl 2005-05-17 7:13 ` What breaks aic7xxx in post 2.6.12-rc2 ? Dinakar Guniguntala 2005-05-17 7:29 ` Andrew Morton 2005-05-17 8:34 ` Dinakar Guniguntala 2005-05-17 14:34 ` James Bottomley 2005-05-17 15:57 ` Grégoire Favre 2005-05-17 16:38 ` James Bottomley 2005-05-17 16:52 ` Grégoire Favre 2005-05-17 18:16 ` James Bottomley 2005-05-17 17:08 ` Dinakar Guniguntala 2005-05-17 18:34 ` James Bottomley 2005-05-17 19:26 ` Grégoire Favre 2005-05-17 19:50 ` James Bottomley 2005-05-17 19:56 ` Grégoire Favre 2005-05-17 21:06 ` James Bottomley 2005-05-17 22:09 ` Grégoire Favre 2005-05-17 22:14 ` James Bottomley 2005-05-21 23:22 ` Grégoire Favre 2005-05-22 13:54 ` James Bottomley 2005-05-24 15:39 ` Grégoire Favre 2005-05-26 13:19 ` James Bottomley 2005-05-26 14:35 ` Grégoire Favre 2005-05-26 14:46 ` James Bottomley 2005-05-26 17:35 ` Grégoire Favre 2005-05-30 14:38 ` James Bottomley 2005-05-30 14:51 ` Michael Tokarev 2005-05-30 14:59 ` James Bottomley 2005-05-30 15:09 ` Grégoire Favre 2005-05-30 15:34 ` James Bottomley 2005-05-30 16:01 ` Grégoire Favre 2005-05-30 18:17 ` James Bottomley 2005-05-30 19:07 ` Grégoire Favre 2005-06-06 18:17 ` James Bottomley 2005-06-07 8:57 ` Grégoire Favre 2005-06-12 15:38 ` James Bottomley 2005-06-13 14:50 ` Grégoire Favre 2005-06-13 14:59 ` James Bottomley 2005-06-13 15:05 ` Christoph Hellwig 2005-06-13 15:17 ` Grégoire Favre 2005-06-13 18:37 ` Gr�goire Favre 2005-06-13 20:50 ` James Bottomley 2005-06-13 21:33 ` Gregoire Favre 2005-06-13 21:46 ` James Bottomley 2005-06-13 21:59 ` Gregoire Favre 2005-06-13 22:04 ` James Bottomley 2005-06-13 22:25 ` Gregoire Favre 2005-06-14 2:20 ` James Bottomley 2005-06-14 9:28 ` What breaks aic7xxx in post 2.6.12-rc2 ? (fixed in 2.6.12-rc6 with patches) Gregoire Favre 2005-06-13 21:42 ` What breaks aic7xxx in post 2.6.12-rc2 ? Frank van Maarseveen 2005-06-13 22:59 ` James Bottomley 2005-06-14 21:42 ` Frank van Maarseveen 2005-06-15 12:02 ` Frank van Maarseveen 2005-06-15 14:14 ` James Bottomley 2005-06-15 20:09 ` Frank van Maarseveen 2005-06-15 20:15 ` James Bottomley 2005-06-15 20:15 ` James Bottomley 2005-06-15 20:49 ` Frank van Maarseveen 2005-05-18 9:07 ` Dinakar Guniguntala 2005-05-18 14:12 ` James Bottomley 2005-05-18 14:40 ` Dinakar Guniguntala 2005-05-19 3:07 ` K.R. Foley 2005-05-19 4:23 ` James Bottomley 2005-05-19 9:51 ` Dinakar Guniguntala 2005-05-19 23:56 ` James Bottomley 2005-05-20 1:05 ` K.R. Foley 2005-05-20 1:17 ` James Bottomley 2005-05-20 1:32 ` K.R. Foley 2005-05-20 1:33 ` James Bottomley 2005-05-20 1:40 ` James Bottomley 2005-05-20 1:54 ` K.R. Foley 2005-05-20 2:30 ` James Bottomley 2005-05-20 3:06 ` K.R. Foley 2005-05-20 10:09 ` Dinakar Guniguntala 2005-05-19 11:27 ` K.R. Foley
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox