Re: BUG in VFS or block layer

From: Alan Stern
Date: Thu Aug 07 2008 - 10:17:30 EST


On Wed, 6 Aug 2008, Andrew Morton wrote:

> > > So... would you be able to verify that the USB, layer is correctly
> > > calling bio->bi_end_io() for the offending requests?
> >
> > The USB layer doesn't handle that; the SCSI layer takes care of it.
> > Possibly the I/O error confuses the code in and around
> > scsi_end_request(). I'll have to do some testing to find out.
> >
>
> Well... looking at your patch to
> drivers/usb/gadget/file_storage.c:do_read(), it appears that
> do_scsi_command() just drops do_read()'s error code on the floor rather
> than returning it to the scsi layer?

No, you misunderstand. file_storage.c is a peripheral driver, not a
host device driver. It doesn't communicate directly with the SCSI
layer and it doesn't handle any BIO requests. You're thinking of
usb-storage, not file_storage.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/