Subject: Re: umass woe: sd0(umass0:0:0): readonly device & drive offline
To: Michael van Elst <mlelstv@serpens.de>
From: Hubert Feyrer <feyrer@cs.stevens.edu>
List: tech-kern
Date: 11/19/2005 02:58:27
On Fri, 18 Nov 2005, Michael van Elst wrote:
> struct scsipi_xfer *xs;
>
> xs->sense.scsi_sense.response_code & SSD_RCODE_VALID != 0
> SSD_RCODE(xs->sense.scsi_sense.response_code) == SSD_RCODE_CURRENT
> SSD_SENSE_KEY(xs->sense.scsi_sense.flags) == SKEY_ILLEGAL_REQUEST
> xs->sense.scsi_sense.asc   == 0x24
> xs->sense.scsi_sense.ascq  == 0x00
>
> This tells you that the command failed, you have retrieved valid
> sense_data, the device did think the command was illegal, the
> reason was that there was an invalid field in the command control
> block.
>
> The only place where you can handle this error is in the
> callback sd_interpret_sense where you have match this with
> the command in question. The command is xs->cmd and the
> command code is xs->cmd->opcode.
>
>
> Now, sdopen() specifies XS_CTL_IGNORE_ILLEGAL_REQUEST
> for scsipi_prevent() but this doesn't seem to be honored.

This is ways beyond me and I can't make much sense out of that. :(
If you (or anyone) can come up with a patch, I'll be happy to test it.


  - Hubert