On Sun, Dec 30 2001, Peter Osterlund wrote: > Greg KH <[EMAIL PROTECTED]> writes: > > > On Sun, Dec 23, 2001 at 06:44:43PM +0100, Peter Osterlund wrote: > > > > > > So, what changes are needed to make CD support work? > > > > The usb-storage driver needs some changes to get it to work properly in > > the 2.5.1 kernel due to the changes in the SCSI and bio layer. I've > > gotten a few other reports of problems, so you aren't alone :) > > > > As for when the changes will be done, any volunteers? > > This patch seems to work for me. I hope it is correct. The ide-scsi > driver is basically doing the same thing already. > > --- linux-2.5-packet/drivers/usb/storage/scsiglue.c.old Sun Dec 30 02:10:01 >2001 > +++ linux-2.5-packet/drivers/usb/storage/scsiglue.c Sun Dec 30 02:09:05 2001 > @@ -145,9 +145,19 @@ > static int queuecommand( Scsi_Cmnd *srb , void (*done)(Scsi_Cmnd *)) > { > struct us_data *us = (struct us_data *)srb->host->hostdata[0]; > + struct scatterlist *sg; > + int i; > > US_DEBUGP("queuecommand() called\n"); > srb->host_scribble = (unsigned char *)us; > + > + /* Set up address field in the scatterlist. HighMem pages have > + * already been bounced at this point. */ > + sg = (struct scatterlist *) srb->request_buffer; > + for (i = 0; i < srb->use_sg; i++) { > + BUG_ON(PageHighMem(sg[i].page)); > + sg[i].address = page_address(sg[i].page) + sg[i].offset; > + } > > /* get exclusive access to the structures we want */ > down(&(us->queue_exclusion));
That's not right, you shouldn't be using .address at all. -- Jens Axboe _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel