Date: Mon, 06 Mar 2000 17:58:21 -0800 From: Mike Smith <msmith@freebsd.org> To: "Kenneth D. Merry" <ken@kdm.org> Cc: Mike Smith <msmith@FreeBSD.ORG>, scsi@FreeBSD.ORG, gibbs@FreeBSD.ORG Subject: Re: chio trap with not-ready changer Message-ID: <200003070158.RAA03274@mass.cdrom.com> In-Reply-To: Your message of "Sat, 04 Mar 2000 16:10:54 MST." <20000304161054.A61108@panzer.kdm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> Oooh, I think I know what may be going on here. I suspect you're hitting > the following case in cam_periph_error(): > > } else { > /* decrement the number of retries */ > retry = ccb->ccb_h.retry_count > 0; > if (retry) > ccb->ccb_h.retry_count--; > /* > * If it was aborted with no > * clue as to the reason, just > * retry it again. > */ > error = ERESTART; > } > > You hit that when there is a SCSI error, but autosense failed, and there > are still retries left. Sorry; doesn't look like it. Some simple printf tracing suggests that it's actually the CAM_SCSI_STATUS_ERROR/CAM_STATUS_BUSY case that's getting called. That'd also explain the 1s delay between commands. Not sure yet why it's not "just working" after the unit comes ready - I'm guessing that's because we don't send two TUR's in sequence. Shouldn't we spin using TUR if the unit's not ready, until it does become ready? -- \\ Give a man a fish, and you feed him for a day. \\ Mike Smith \\ Tell him he should learn how to fish himself, \\ msmith@freebsd.org \\ and he'll hate you for a lifetime. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003070158.RAA03274>