From: Luben Tuikov <luben_tuikov@adaptec.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: SCSI development list <linux-scsi@vger.kernel.org>,
"Mike R." <turbanator1@verizon.net>
Subject: Re: Incorrect response to SK/ASC/ASCQ = x 02/04/01 (becoming ready)
Date: Mon, 23 Aug 2004 11:10:17 -0400 [thread overview]
Message-ID: <412A08D9.7020502@adaptec.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0408221154220.15992-100000@netrider.rowland.org>
Alan Stern wrote:
> The SCSI core doesn't react properly when it receives SK/ASC/ASCQ = x
> 02/04/01 = Not Ready, Logical unit in process of becoming ready.
>
> The core is complex enough that I can't tell exactly what's wrong or how
> it should be fixed. That particular sense data combination is spotted in
> two different places: scsi_lib.c:scsi_io_completion() and
> scsi_error.c:scsi_check_sense(). It's not clear which one is causing the
> problem -- maybe they both are.
>
> Anyway, the reaction in both routines is to requeue the request for
> immediate retry. Obviously that's the wrong thing to do. The request
> should be retried, yes, but only after a delay of, say, a second or so.
> (Presumably the queue should remain blocked during that time.) And this
> should keep happening for up to maybe 30 seconds.
If the queue is a _general_ SCSI queue on which _any_ kind of
SCSI command can be queued to the LU/target (i.e. not necessarily
medium access), then you must _not_ block it. HOQ task attribute
commands could be sent which may operate other components of the
LU/target.
But you should block the IO (R/W) general queue, yes. _A_ way
to do this is to send START STOP UNIT (0x1B) with the IMMED
bit set to 0. When the command completes, you'll get status
and set the device to active, unblock the IO queue, etc.
Luben
> Instead what happens is that all the retries get exhausted in a fraction
> of a second, which isn't long enough for any device to spin up. The
> drivers then proceed blindly with whatever else they want to do, which
> generally incurs its own set of errors.
>
> This problem seems to be particularly bad for USB DVD drives. One user
> was able to work around it by manually loading the usb-storage driver 20
> to 30 seconds after plugging the drive into the computer. Obviously it
> would be much better to have the system do the right thing in the first
> place.
>
> I don't know enough about the SCSI core to change it properly. Can
> someone please help?
>
> Alan Stern
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2004-08-23 15:10 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-22 16:21 Incorrect response to SK/ASC/ASCQ = x 02/04/01 (becoming ready) Alan Stern
2004-08-22 22:55 ` Nathan Bryant
2004-08-22 23:32 ` James Bottomley
2004-08-22 23:56 ` Burn Alting
2004-08-23 15:31 ` James Bottomley
2004-08-23 17:08 ` Burn Alting
2004-08-26 2:54 ` Jeremy Higdon
2004-08-26 15:38 ` James Bottomley
2004-08-26 22:36 ` Jeremy Higdon
2004-08-27 0:03 ` Douglas Gilbert
2004-08-26 15:55 ` PATCH: (as355) Fix test for valid sense data present Alan Stern
2004-08-26 16:09 ` James Bottomley
2004-08-26 16:59 ` Alan Stern
2004-08-26 17:27 ` James Bottomley
2004-08-26 19:32 ` Alan Stern
2004-08-26 23:36 ` Douglas Gilbert
2004-08-26 17:20 ` Proposal for fixing READ_CAPACITY Alan Stern
2004-08-23 15:10 ` Luben Tuikov [this message]
2004-08-23 16:05 ` Incorrect response to SK/ASC/ASCQ = x 02/04/01 (becoming ready) Nathan Bryant
2004-08-23 18:29 ` Luben Tuikov
2004-08-24 22:04 ` Brian King
-- strict thread matches above, loose matches on Subject: below --
2004-08-26 15:21 Pat LaVarre
2004-08-26 15:29 ` Pat LaVarre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=412A08D9.7020502@adaptec.com \
--to=luben_tuikov@adaptec.com \
--cc=linux-scsi@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=turbanator1@verizon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).