On Tue, 26 May 2009, Michael S. Tsirkin wrote: > > They would know. But it's easy enough to find out. (Looks through > > the SCSI code...) Here we go. scsi_io_completion() contains this: > > > > case ILLEGAL_REQUEST: > > /* If we had an ILLEGAL REQUEST returned, then > > * we may have performed an unsupported > > * command. The only thing this should be > > * would be a ten byte read where only a six > > * byte read was supported. Also, on a system > > * where READ CAPACITY failed, we may have > > * read past the end of the disk. > > */ > > if ((cmd->device->use_10_for_rw && > > sshdr.asc == 0x20 && sshdr.ascq == 0x00) && > > (cmd->cmnd[0] == READ_10 || > > cmd->cmnd[0] == WRITE_10)) { > > /* This will issue a new 6-byte command. */ > > cmd->device->use_10_for_rw = 0; > > action = ACTION_REPREP; > > } else if (sshdr.asc == 0x10) /* DIX */ { > > description = "Host Data Integrity Failure"; > > action = ACTION_FAIL; > > error = -EILSEQ; > > } else > > action = ACTION_FAIL; > > break; > > Which kernel version is this? I see different code in 2.6.30-rc7. I don't. It looks exactly the same as this (this was taken from 2.6.30-rc6). Look starting at line 844 of drivers/scsi/scsi_lib.c. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html