Subject: Re: while we're looking at old bugs
To: None <jfw@jfwhome.funhouse.com>
From: Matthew Jacob <mjacob@feral.com>
List: current-users
Date: 10/02/1997 08:55:51
>kern/3021 describes poor handling of UNIT ATTENTION in the scsi
>driver.  The sense code handling recently got churned, but I don't
>think this has been changed.  At any rate, the bug doesn't seem to
>have been looked at.  (This one includes only skeletal code.)

The real fix for this would be to update sd.c to actually parse errors
rather than let the (limited) general case suffice. I won't have time
to do this at present.

>
>kern/3022 complains that the handling of extended sense information
>was completely wrong.  The recent SCSIVERBOSE changes have almost
>fixed this entirely:  the driver still (in the SCSIDEBUG code) prints
>out extra_len bytes worth of junk starting at extra_bytes[], which is
>wrong (the extra_len count (Additional Sense Length) starts at the 
>Command-Specific Information field, several bytes back from where
>extra_bytes[] starts).  If someone would please change
>
>scsi_base.c:
>		for (count = 0; count < sense->extra_len; count++)
>			printf("0x%x ", sense->extra_bytes[count]);
>to
>		for (count = 0; count < sense->extra_len; count++)
>			printf("0x%x ", sense->cmd_spec_info[count]);
>
>(or something more tasteful if you don't want to rely on addressing
>off the end of cmd_spec_info!), this report should be closed.
>

Okay, I've modified scsi_base.h to have a ADD_BYTES_LIM macro that
gives the min of extra_len && sizeof struct scsipi_sense - 8 to
index off of cmd_spec_info.

Gee- I wish someone could tell me how to close PRs..... edit-pr?

-matt