amusing stumble for the 6 to 10 byte checking code

Kenneth D. Merry ken at kdm.org
Thu Nov 16 17:38:44 UTC 2006


On Thu, Nov 16, 2006 at 08:36:15 -0800, Matthew Jacob wrote:
> >That shouldn't have happened in response to a unit attention.  It should
> >only happen if the SIM comes back with CAM_REQ_INVALID, or if the target
> >comes back with an illegal request sense code.  So there may have been
> >another intervening error that caused the switchover.
> 
> Yeah- but where?

I dunno.  I just took a quick look through CAM and the ISP driver for
CAM_REQ_INVALID, and didn't see any obvious place that would return
CAM_REQ_INVALID for a 6 byte write...

Computers are causal, though, so I'm sure there's a reason in there
*somewhere*...

> >> (da0:isp1:0:0:0): WRITE(10). CDB: 2a 0 0 8 68 90 0 0 80 0
> >> (da0:isp1:0:0:0): CAM Status: SCSI Status Error
> >> (da0:isp1:0:0:0): SCSI Status: Check Condition
> >> (da0:isp1:0:0:0): ILLEGAL REQUEST asc:24,0
> >> (da0:isp1:0:0:0): Invalid field in CDB
> >> (da0:isp1:0:0:0): Unretryable error
> >
> >Hmm.  Illegal field, and not invalid command operation code?  That's odd.
> >What kind of drive is this?  The CDB looks valid at first glance...
> >
> 
> Yeah, this is what's puzzling me. This is a normal FC drive. Puzzled...

Yeah, definitely a weird error.  I'd never expect a SCSI drive to reject a
normal 10 byte write like that.  There are no weird flags in the CDB, and
the lba and length don't seem out of range at all...  (Unless you've got a
200MB hard FC hard drive...)

Ken
-- 
Kenneth Merry
ken at kdm.org


More information about the freebsd-scsi mailing list