All of lore.kernel.org
 help / color / mirror / Atom feed
* Incorrect response to SK/ASC/ASCQ = x 02/04/01 (becoming ready)
@ 2004-08-22 16:21 Alan Stern
  2004-08-22 22:55 ` Nathan Bryant
                   ` (2 more replies)
  0 siblings, 3 replies; 22+ messages in thread
From: Alan Stern @ 2004-08-22 16:21 UTC (permalink / raw)
  To: SCSI development list; +Cc: Mike R.

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.

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


^ permalink raw reply	[flat|nested] 22+ messages in thread
[parent not found: <1088721250.40e4916212bed@wwws.torque.net>]

end of thread, other threads:[~2004-08-27  0:04 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` Incorrect response to SK/ASC/ASCQ = x 02/04/01 (becoming ready) Luben Tuikov
2004-08-23 16:05   ` Nathan Bryant
2004-08-23 18:29     ` Luben Tuikov
2004-08-24 22:04   ` Brian King
     [not found] <1088721250.40e4916212bed@wwws.torque.net>
2004-08-03 19:25 ` PATCH: (as355) Fix test for valid sense data present Alan Stern

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.