So how do you address a multi-LUN target if you don't encode the LUN? Matt On Mon, Jan 30, 2006 at 07:04:15PM +0100, Ren? Rebe wrote: > Hi, > > finally - I got multi target (that is a SCSI device other than ID = 0 and more than than one) working > with the USB2Xchange. But it needs two ugly changes in transport.c: > > The first one is only encoding the ID, no LUN: > > --- ../linux-2.6.15/drivers/usb/storage/transport.c 2006-01-03 04:21:10.000000000 +0100 > +++ drivers/usb/storage/transport.c 2006-01-30 18:49:25.172317000 +0100 > @@ -983,7 +983,7 @@ > bcb->Tag = ++us->tag; > bcb->Lun = srb->device->lun; > if (us->flags & US_FL_SCM_MULT_TARG) > - bcb->Lun |= srb->device->id << 4; > + bcb->Lun = srb->device->id; > bcb->Length = srb->cmd_len; > > /* copy the command payload */ > > Would it be ok when special case that one only for the Adaptec device, for now? > Or define a whole new 2nd MULTI_TARG(2) quirk? > > And furthermore the device does not respond to request other than the attached targets, > this might be needed: > > @@ -1069,6 +1069,19 @@ > US_DEBUGP("Bulk Status S 0x%x T 0x%x R %u Stat 0x%x\n", > le32_to_cpu(bcs->Signature), bcs->Tag, > residue, bcs->Status); > + > + if (bcs->Status > US_BULK_STAT_FAIL) { > + /* Adaptec USB2XCHANGE */ > + if (us->pusb_dev->descriptor.idVendor == 0x03f3 && > + us->pusb_dev->descriptor.idProduct == 0x2003) { > + > + /* This device will send bcs->Status == 0x8a for unused targets and > + == 0x02 for SRB's that require SENSE. */ > + bcs->Status = US_BULK_STAT_OK; > + fake_sense = 1; > + US_DEBUGP("Patched Bulk status to %d.\n", bcs->Status); > + } > + } > if (bcs->Tag != us->tag || bcs->Status > US_BULK_STAT_PHASE) { > US_DEBUGP("Bulk logical error\n"); > return USB_STOR_TRANSPORT_ERROR; > > Yours, > > -- > René Rebe - Rubensstr. 64 - 12157 Berlin (Europe / Germany) > http://www.exactcode.de | http://www.t2-project.org > +49 (0)30 255 897 45 > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd_______________________________________________ > [email protected] > To unsubscribe, use the last form field at: > https://lists.sourceforge.net/lists/listinfo/linux-usb-devel -- Matthew Dharm Home: [email protected] Maintainer, Linux USB Mass Storage Driver A female who groks UNIX? My universe is collapsing. -- Mike User Friendly, 10/11/1998
Attachment:
pgpYAXBGHEfif.pgp
Description: PGP signature
- References:
- Prev by Date: Re: [linux-usb-devel] Re: [PATCH] Adaptec USBXchange and USB2Xchange support
- Next by Date: Re: Right way to configure a driver? (sysfs, ioctl, proc, configfs,....)
- Previous by thread: Re: [linux-usb-devel] Re: [PATCH] Adaptec USBXchange and USB2Xchange support
- Next by thread: TIOCCONS security revisited
- Index(es):