Hi Tejun, Unicorn is doing some test with the current upstream branch and something looks strange in the log. With the new EH, when the ATAPI device reports dev_status 0x51, the err_mask is reported as 0x0. This does not look right. Maybe we should report AC_ERR_DEV error back to the upper layers? (Test log attached for your review.) -- albert ============================================================================================ (Test log with new EH. Error transaction with 0x51 dev_status) Jun 27 18:10:57 xlinux19 kernel: ata_scsi_dump_cdb: CDB (3:0,0,0) 1e 00 00 00 01 00 00 00 00 Jun 27 18:10:57 xlinux19 kernel: ata_scsi_translate: ENTER Jun 27 18:10:57 xlinux19 kernel: ata3: ata_dev_select: ENTER, ata3: device 0, wait 1 Jun 27 18:10:57 xlinux19 kernel: ata_tf_load_pio: feat 0x0 nsect 0x0 lba 0x0 0x0 0x20 Jun 27 18:10:57 xlinux19 kernel: ata_tf_load_pio: device 0xA0 Jun 27 18:10:57 xlinux19 kernel: ata_exec_command_pio: ata3: cmd 0xA0 Jun 27 18:10:57 xlinux19 kernel: ata_scsi_translate: EXIT Jun 27 18:10:57 xlinux19 kernel: ata_host_intr: ata3: protocol 6 task_state 5 Jun 27 18:10:57 xlinux19 kernel: ata_hsm_move: ata3: protocol 6 task_state 5 (dev_stat 0x58) Jun 27 18:10:57 xlinux19 kernel: atapi_send_cdb: send cdb Jun 27 18:10:57 xlinux19 kernel: ata_host_intr: ata3: protocol 6 task_state 3 Jun 27 18:10:57 xlinux19 kernel: ata_hsm_move: ata3: protocol 6 task_state 3 (dev_stat 0x51) <== device cannot do it Jun 27 18:10:57 xlinux19 kernel: ata_hsm_move: ata3: protocol 6 task_state 4 (dev_stat 0x51) Jun 27 18:10:57 xlinux19 kernel: ata_scsi_timed_out: ENTER Jun 27 18:10:57 xlinux19 kernel: ata_scsi_timed_out: EXIT, ret=0 Jun 27 18:10:57 xlinux19 kernel: ata_scsi_error: ENTER Jun 27 18:10:57 xlinux19 kernel: ata_port_flush_task: ENTER Jun 27 18:10:57 xlinux19 kernel: ata_port_flush_task: flush #1 Jun 27 18:10:57 xlinux19 kernel: ata_eh_autopsy: ENTER Jun 27 18:10:57 xlinux19 kernel: atapi_eh_request_sense: ATAPI request sense Jun 27 18:10:57 xlinux19 kernel: ata3: ata_dev_select: ENTER, ata3: device 0, wait 1 Jun 27 18:10:57 xlinux19 kernel: ata_tf_load_pio: feat 0x64 nsect 0x3 lba 0x0 0x0 0x20 Jun 27 18:10:57 xlinux19 kernel: ata_tf_load_pio: device 0xA0 Jun 27 18:10:57 xlinux19 kernel: ata_exec_command_pio: ata3: cmd 0xA0 Jun 27 18:10:57 xlinux19 kernel: ata_host_intr: ata3: protocol 5 task_state 5 Jun 27 18:10:57 xlinux19 kernel: ata_hsm_move: ata3: protocol 5 task_state 5 (dev_stat 0x58) Jun 27 18:10:57 xlinux19 kernel: atapi_send_cdb: send cdb Jun 27 18:10:57 xlinux19 kernel: ata_host_intr: ata3: protocol 5 task_state 2 Jun 27 18:10:57 xlinux19 kernel: ata_hsm_move: ata3: protocol 5 task_state 2 (dev_stat 0x58) Jun 27 18:10:57 xlinux19 kernel: atapi_pio_bytes: ata3: xfering 18 bytes Jun 27 18:10:57 xlinux19 kernel: __atapi_pio_bytes: data read Jun 27 18:10:57 xlinux19 kernel: ata_host_intr: ata3: protocol 5 task_state 2 Jun 27 18:10:57 xlinux19 kernel: ata_hsm_move: ata3: protocol 5 task_state 2 (dev_stat 0x50) Jun 27 18:10:57 xlinux19 kernel: ata_hsm_move: ata3: protocol 5 task_state 3 (dev_stat 0x50) Jun 27 18:10:57 xlinux19 kernel: ata_hsm_move: ata3: dev 0 command complete, drv_stat 0x50 Jun 27 18:10:57 xlinux19 kernel: ata_port_flush_task: ENTER Jun 27 18:10:57 xlinux19 kernel: ata_port_flush_task: flush #1 Jun 27 18:10:57 xlinux19 kernel: ata_eh_autopsy: EXIT Jun 27 18:10:57 xlinux19 kernel: ata_eh_recover: ENTER Jun 27 18:10:57 xlinux19 kernel: ata_eh_revalidate_and_attach: ENTER Jun 27 18:10:57 xlinux19 kernel: ata_eh_revalidate_and_attach: EXIT Jun 27 18:10:57 xlinux19 kernel: ata_eh_recover: EXIT, rc=0 Jun 27 18:10:57 xlinux19 kernel: atapi_qc_complete: ENTER, err_mask 0x0 <== Doesn't look right. Should report error. Jun 27 18:10:57 xlinux19 kernel: ata_scsi_error: EXIT =============================================================================================== (Test log with new EH. Normal transaction.) Jun 27 18:11:02 xlinux19 kernel: ata_scsi_dump_cdb: CDB (3:0,0,0) 1e 00 00 00 01 00 00 00 00 Jun 27 18:11:02 xlinux19 kernel: ata_scsi_translate: ENTER Jun 27 18:11:02 xlinux19 kernel: ata3: ata_dev_select: ENTER, ata3: device 0, wait 1 Jun 27 18:11:02 xlinux19 kernel: ata_tf_load_pio: feat 0x0 nsect 0x0 lba 0x0 0x0 0x20 Jun 27 18:11:02 xlinux19 kernel: ata_tf_load_pio: device 0xA0 Jun 27 18:11:02 xlinux19 kernel: ata_exec_command_pio: ata3: cmd 0xA0 Jun 27 18:11:02 xlinux19 kernel: ata_scsi_translate: EXIT Jun 27 18:11:02 xlinux19 kernel: ata_host_intr: ata3: protocol 6 task_state 5 Jun 27 18:11:02 xlinux19 kernel: ata_hsm_move: ata3: protocol 6 task_state 5 (dev_stat 0x58) Jun 27 18:11:02 xlinux19 kernel: atapi_send_cdb: send cdb Jun 27 18:11:02 xlinux19 kernel: ata_host_intr: ata3: protocol 6 task_state 3 Jun 27 18:11:02 xlinux19 kernel: ata_hsm_move: ata3: protocol 6 task_state 3 (dev_stat 0x50) Jun 27 18:11:02 xlinux19 kernel: ata_hsm_move: ata3: dev 0 command complete, drv_stat 0x50 Jun 27 18:11:02 xlinux19 kernel: atapi_qc_complete: ENTER, err_mask 0x0 <== Everything is fine. - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html