Missing length specification in scsi_request_sense

Scott Long scottl at freebsd.org
Sat Sep 20 17:17:10 PDT 2003


Thomas Quinot wrote:
> The CDB built by scsi_request_sense always has a zero length indication,
> preventing correct transfer of sense data during recovery action by
> cam_periph. The following change resolves the problem, please review.
> 
> Thomas.
> 
> Index: scsi/scsi_all.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/cam/scsi/scsi_all.c,v
> retrieving revision 1.42
> diff -u -r1.42 scsi_all.c
> --- scsi/scsi_all.c	10 Jun 2003 18:14:04 -0000	1.42
> +++ scsi/scsi_all.c	20 Sep 2003 10:53:38 -0000
> @@ -2408,6 +2408,7 @@
>  	scsi_cmd = (struct scsi_request_sense *)&csio->cdb_io.cdb_bytes;
>  	bzero(scsi_cmd, sizeof(*scsi_cmd));
>  	scsi_cmd->opcode = REQUEST_SENSE;
> +	scsi_cmd->length = dxfer_len;
>  }
>  
>  void
> 

Since just about every driver in existance does auto-sense, it doesn't
surprise me that you're finding these bugs.  This patch looks reasonable
to me.

Scott



More information about the freebsd-scsi mailing list