On Sat, 5 Jan 2002, dino wrote:
but it is usable at least on my USB writer. The patch is available in this directory:
what kind of USB cdrw did the Peter use ? i try the HP 8230e and ACER 6404 , the kernel is 2.5.2-pre8 , but when i mount the cdrw , it shows
usb-uhci.c: Host controller halted, trying to restart.
That's because usb-storage is currently broken in 2.5. I use the patch below as a temporary workaround, but as Jens previously pointed out, it is not the right fix, because the address field in struct scatterlist is scheduled for removal in the near future in 2.5. --- linux-2.5.2-pre7/drivers/usb/storage/scsiglue.c Wed Nov 28 19:22:27 2001 +++ linux-2.5-packet/drivers/usb/storage/scsiglue.c Sat Jan 5 10:00:49 2002 @@ -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)); -- Peter Osterlund - petero2@telia.com http://w1.894.telia.com/~u89404340