From: "René Rebe" <rene@exactcode.de>
To: Oliver Neukum <oliver@neukum.org>
Cc: linux-usb-devel@lists.sourceforge.net,
linux-kernel@vger.kernel.org,
"Louis C. Kouvaris" <louisk@comcast.net>,
"wilford smith" <wilford_smith_2@hotmail.com>
Subject: Re: [linux-usb-devel] Re: [PATCH] Adaptec USBXchange and USB2Xchange support
Date: Mon, 30 Jan 2006 19:04:15 +0100 [thread overview]
Message-ID: <200601301904.15207.rene@exactcode.de> (raw)
In-Reply-To: <200601301622.19998.oliver@neukum.org>
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
next prev parent reply other threads:[~2006-01-30 18:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-13 20:53 [PATCH] Adaptec USBXchange and USB2Xchange support René Rebe
2005-09-14 10:18 ` Andrew Morton
2006-01-30 13:22 ` René Rebe
2006-01-30 13:33 ` René Rebe
[not found] ` <200601301622.19998.oliver@neukum.org>
2006-01-30 15:36 ` [linux-usb-devel] " René Rebe
2006-01-30 18:04 ` René Rebe [this message]
2006-01-30 21:38 ` Matthew Dharm
2006-01-30 21:40 ` Matthew Dharm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200601301904.15207.rene@exactcode.de \
--to=rene@exactcode.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=louisk@comcast.net \
--cc=oliver@neukum.org \
--cc=wilford_smith_2@hotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.