Re: [PATCH] aic94xx: fix smartctl utility problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2007-09-14 at 10:58 -0700, Gilbert Wu wrote:
> Fixed the problem that "smartctl -a /dev/some_sata_disk -d ata"  does
> not work on SATA device. ( The smartctl v5.38 does need "-d ata"
> option.)
>   The aic94xx need to return ATA output register for all ATA commands
> except ATA Read/Write commands.
>   The aic94xx also mark out the DRQ bit from status register which is
> treated as AC_ERR_HSM (host state machine violation) error by top layer
> if it set to one.
>  The firmware of aic94xx chip handle all ATA handshaking, data transfer
> and return ATA output register which is sent by the device.  So the DRQ
> bit may not reflect the last state of device when the command finished
> and it is no meaning for the caller.
> 
> Signed-off-by: Gilbert Wu <gilbert_wu@xxxxxxxxxxx>

I'm afraid this can't go in.  It has a bad effect on my expander remote
ATAPI device:

aic94xx: Adaptec aic94xx SAS/SATA driver version 1.0.3 loaded
modprobe used greatest stack depth: 5312 bytes left
ACPI: PCI Interrupt 0000:03:03.0[A] -> GSI 17 (level, low) -> IRQ 17
aic94xx: found Adaptec AIC-9410W SAS/SATA Host Adapter, device 0000:03:03.0
scsi2 : aic94xx
OCM is not initialized by BIOS,reinitialize it and ignore it, current IntrptStatusis 0x0
aic94xx: couldn't find BIOS_CHIM dir ent
aic94xx: couldn't read ocm(-2)
aic94xx: manuf sect SAS_ADDR 50000d100001cae0
aic94xx: manuf sect PCBA SN 
aic94xx: ms: num_phy_desc: 8
aic94xx: ms: phy0: ENABLED
aic94xx: ms: phy1: ENABLED
aic94xx: ms: phy2: ENABLED
aic94xx: ms: phy3: ENABLED
aic94xx: ms: phy4: ENABLED
aic94xx: ms: phy5: ENABLED
aic94xx: ms: phy6: ENABLED
aic94xx: ms: phy7: ENABLED
aic94xx: ms: max_phys:0x8, num_phys:0x8
aic94xx: ms: enabled_phys:0xff
aic94xx: ctrla: phy0: sas_addr: 50000d100001cae0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0
aic94xx: ctrla: phy1: sas_addr: 50000d100001cae0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0
aic94xx: ctrla: phy2: sas_addr: 50000d100001cae0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0
aic94xx: ctrla: phy3: sas_addr: 50000d100001cae0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0
aic94xx: ctrla: phy4: sas_addr: 50000d100001cae0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0
aic94xx: ctrla: phy5: sas_addr: 50000d100001cae0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0
aic94xx: ctrla: phy6: sas_addr: 50000d100001cae0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0
aic94xx: ctrla: phy7: sas_addr: 50000d100001cae0, sas rate:0x9-0x8, sata rate:0x0-0x0, flags:0x0
aic94xx: max_scbs:512, max_ddbs:128
aic94xx: setting phy0 addr to 50000d100001cae0
aic94xx: setting phy1 addr to 50000d100001cae0
aic94xx: setting phy2 addr to 50000d100001cae0
aic94xx: setting phy3 addr to 50000d100001cae0
aic94xx: setting phy4 addr to 50000d100001cae0
aic94xx: setting phy5 addr to 50000d100001cae0
aic94xx: setting phy6 addr to 50000d100001cae0
aic94xx: setting phy7 addr to 50000d100001cae0
aic94xx: num_edbs:21
aic94xx: num_escbs:3
aic94xx: Found sequencer Firmware version 1.1 (V30)
aic94xx: downloading CSEQ...
aic94xx: dma-ing 8192 bytes
aic94xx: verified 8192 bytes, passed
aic94xx: downloading LSEQs...
aic94xx: dma-ing 14336 bytes
aic94xx: LSEQ0 verified 14336 bytes, passed
aic94xx: LSEQ1 verified 14336 bytes, passed
aic94xx: LSEQ2 verified 14336 bytes, passed
aic94xx: LSEQ3 verified 14336 bytes, passed
aic94xx: LSEQ4 verified 14336 bytes, passed
aic94xx: LSEQ5 verified 14336 bytes, passed
aic94xx: LSEQ6 verified 14336 bytes, passed
aic94xx: LSEQ7 verified 14336 bytes, passed
aic94xx: max_scbs:446
aic94xx: first_scb_site_no:0x20
aic94xx: last_scb_site_no:0x1fe
aic94xx: First SCB dma_handle: 0x37682000
aic94xx: device 0000:03:03.0: SAS addr 50000d100001cae0, PCBA SN , 8 phys, 8 enabled phys, flash present, BIOS not present0
aic94xx: posting 3 escbs
aic94xx: escbs posted
aic94xx: posting 8 control phy scbs
aic94xx: control_phy_tasklet_complete: phy5, lrate:0x8, proto:0xe
aic94xx: control_phy_tasklet_complete: phy2, lrate:0x9, proto:0xe
aic94xx: control_phy_tasklet_complete: phy3, lrate:0x9, proto:0xe
aic94xx: escb_tasklet_complete: phy2: BYTES_DMAED
aic94xx: SAS proto IDENTIFY:
aic94xx: 00: 20 00 00 02
aic94xx: 04: 00 00 00 00
aic94xx: 08: 00 00 00 00
aic94xx: 0c: 50 06 05 b0
aic94xx: 10: 00 00 14 50
aic94xx: 14: 01 00 00 00
aic94xx: 18: 00 00 00 00
aic94xx: asd_form_port: updating phy_mask 0x4 for phy2
aic94xx: escb_tasklet_complete: phy3: BYTES_DMAED
aic94xx: SAS proto IDENTIFY:
aic94xx: 00: 20 00 00 02
aic94xx: 04: 00 00 00 00
aic94xx: 08: 00 00 00 00
aic94xx: 0c: 50 06 05 b0
aic94xx: 10: 00 00 14 50
aic94xx: 14: 00 00 00 00
aic94xx: 18: 00 00 00 00
aic94xx: asd_form_port: updating phy_mask 0xc for phy3
aic94xx: control_phy_tasklet_complete: phy0: no device present: oob_status:0x0
aic94xx: control_phy_tasklet_complete: phy1: no device present: oob_status:0x0
aic94xx: control_phy_tasklet_complete: phy4: no device present: oob_status:0x0
aic94xx: control_phy_tasklet_complete: phy6: no device present: oob_status:0x0
aic94xx: control_phy_tasklet_complete: phy7: no device present: oob_status:0x0
sas: phy2 added to port0, phy_mask:0x4
sas: phy3 matched wide port0
sas: phy3 added to port0, phy_mask:0xc
sas: DOING DISCOVERY on port 0, pid:2047
sas: ex 500605b000001450 phy00:S attached: 50000d100001cae0
sas: ex 500605b000001450 phy01:S attached: 50000d100001cae0
sas: ex 500605b000001450 phy02:S attached: 0000000000000000
sas: ex 500605b000001450 phy03:S attached: 0000000000000000
sas: ex 500605b000001450 phy04:T attached: 0000000000000000
sas: ex 500605b000001450 phy05:T attached: 500605b000001455
sas: ex 500605b000001450 phy06:T attached: 0000000000000000
sas: ex 500605b000001450 phy07:T attached: 0000000000000000
sas: ex 500605b000001450 phy08:T attached: 500605b000001110
sas: ex 500605b000001450 phy09:T attached: 500605b000001110
sas: ex 500605b000001450 phy10:T attached: 0000000000000000
sas: ex 500605b000001450 phy11:T attached: 0000000000000000
sas: sas_ata_phy_reset: Found ATAPI device.
ata1.00: ATAPI: PLEXTOR DVDR   PX-755A, 1.03, max UDMA/66
ata1.00: configured for UDMA/66
scsi 2:0:0:0: CD-ROM            PLEXTOR  DVDR   PX-755A   1.03 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 2:0:0:0: Attached scsi generic sg1 type 5
sas: ex 500605b000001110 phy00:S attached: 500605b000001450
sas: ex 500605b000001110 phy01:S attached: 500605b000001450
sas: ex 500605b000001110 phy02:S attached: 0000000000000000
sas: ex 500605b000001110 phy03:S attached: 0000000000000000
sas: ex 500605b000001110 phy04:T attached: 0000000000000000
sas: ex 500605b000001110 phy05:T attached: 0000000000000000
sas: ex 500605b000001110 phy06:T attached: 0000000000000000
sas: ex 500605b000001110 phy07:T attached: 0000000000000000
sas: ex 500605b000001110 phy08:T attached: 5000c50000202511
sas: ex 500605b000001110 phy09:T attached: 0000000000000000
sas: ex 500605b000001110 phy10:T attached: 0000000000000000
sas: ex 500605b000001110 phy11:T attached: 0000000000000000
scsi 2:0:1:0: Direct-Access     IBM-ESXS ST973401SS       B519 PQ: 0 ANSI: 5
sd 2:0:1:0: [sdb] 143374000 512-byte hardware sectors (73407 MB)
sd 2:0:1:0: [sdb] Write Protect is off
sd 2:0:1:0: [sdb] Write cache: disabled, read cache: enabled, supports DPO and FUA
sd 2:0:1:0: [sdb] 143374000 512-byte hardware sectors (73407 MB)
sd 2:0:1:0: [sdb] Write Protect is off
sd 2:0:1:0: [sdb] Write cache: disabled, read cache: enabled, supports DPO and FUA
 sdb: sdb1
sd 2:0:1:0: [sdb] Attached SCSI disk
sd 2:0:1:0: Attached scsi generic sg2 type 0
sas: DONE DISCOVERY on port 0, pid:2047, result:0
sas: command 0xde7c4648, task 0xf77cf6e0, timed out: EH_NOT_HANDLED
sas: Enter sas_scsi_recover_host
sas: trying to find task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: task 0xf77cf6e0 is not at LU: I_T recover
sas: I_T nexus reset for dev 500605b000001455
sas: clearing nexus for port:0
aic94xx: asd_clear_nexus_port: PRE
aic94xx: asd_clear_nexus_port: POST
aic94xx: asd_clear_nexus_port: clear nexus posted, waiting...
aic94xx: asd_clear_nexus_tasklet_complete: here
aic94xx: asd_clear_nexus_tasklet_complete: opcode: 0x0
sas: clear nexus port:0 succeeded
sas: --- Exit sas_scsi_recover_host
sas: command 0xde7c4648, task 0xf77cf6e0, timed out: EH_NOT_HANDLED
sas: Enter sas_scsi_recover_host
sas: trying to find task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: task 0xf77cf6e0 aborted, res: 0x4
sas: sas_scsi_find_task: querying task 0xf77cf6e0
sas: task 0xf77cf6e0 is not at LU: I_T recover
sas: I_T nexus reset for dev 500605b000001455
sas: clearing nexus for port:0
aic94xx: asd_clear_nexus_port: PRE
aic94xx: asd_clear_nexus_port: POST
aic94xx: asd_clear_nexus_port: clear nexus posted, waiting...
aic94xx: asd_clear_nexus_tasklet_complete: here
aic94xx: asd_clear_nexus_tasklet_complete: opcode: 0x0
sas: clear nexus port:0 succeeded
sas: --- Exit sas_scsi_recover_host
sas: command 0xde7c4648, task 0xf77cf6e0, timed out: EH_NOT_HANDLED
sas: Enter sas_scsi_recover_host
sas: trying to find task 0xf77cf6e0
sas: sas_scsi_find_task: aborting task 0xf77cf6e0
aic94xx: task 0xf77cf6e0 done with opcode 0x1e resp 0x0 stat 0x8d but aborted by upper layer!
aic94xx: tmf tasklet complete
aic94xx: tmf came back
aic94xx: asd_abort_task: task 0xf77cf6e0 done
aic94xx: task 0xf77cf6e0 aborted, res: 0x0
sas: sas_scsi_find_task: task 0xf77cf6e0 is done
sas: sas_eh_handle_sas_errors: task 0xf77cf6e0 is done
sas: sas_ata_task_done: SAS error 8d
sas: --- Exit sas_scsi_recover_host

And then the system hangs

James


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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux