On Fri, Feb 06, 2004 at 10:24:25AM -0500, James Bottomley wrote: > On Fri, 2004-02-06 at 09:59, Alan Stern wrote: > > Who says it's wrong to retrieve sense information when there is an > > underrun but not Check Condition? Can you provide a reference to a > > published (or draft) document that states this? > > It's not wrong according to the SCSI standards, a REQUEST SENSE issued > to a device with no sense data will produce a NO SENSE key. > > However, because of the way sense is processed in contingent allegiance > conditions (suspending the I_T_L nexus until sense is cleared) it is > dangerous to issue arbitrary request sense commands because you may > receive sense for a different command (and prevent that command from > erroring correctly).
You'll excuse me if I stare at you blankly after you say this? If I'm guessing correctly, this is only an issue with multiple pending commands (i.e. TCQ or somesuch)? A USB device only ever has one command at a time. > The SCSI mid-layer definitely does not expect this behaviour. A driver > either does not do any sense commands at all or it only issues a REQUEST > SENSE in response to a Check Condition status in order not to have the > nexus halted because of a contingent allegiance condition (simulating > ACA if you will). 'Check Condition' isn't something we can directly observe. We get 2 status bits back which encode "good", "bad", or "you're screwed -- you are now required to perform a reset". Matt -- Matthew Dharm Home: [EMAIL PROTECTED] Maintainer, Linux USB Mass Storage Driver Stef, you just got beaten by a ball of DIRT. -- Greg User Friendly, 12/7/1997
pgp00000.pgp
Description: PGP signature