An error occurred fetching the project authors.
- 20 Jan, 2004 1 commit
-
-
Alan Stern authored
According to James Bottomley, we need to notify the SCSI midlayer whenever we issue a driver-initiated device reset. That can happen in several places, most notably following a transport error. This patch adds code to the reset routine to take care of it. (Notifying about resets requested by the midlayer itself is unnecessary but harmless.) Alan Stern On 15 Dec 2003, James Bottomley wrote: > It looks like the driver sent a reset to the device on its own without > reporting it to the mid-layer. > > There's an expecting_cc_ua flag in the scsi_device. It gets set on > error recovery actions, or if the device does something to detect or > trigger a reset (that's the scsi_report_device_reset() and > scsi_report_bus_reset() API's). > > James
-
- 16 Jan, 2004 2 commits
-
-
Matthew Dharm authored
This patch adds a sysfs attribute to the usb-storage SCSI devices. This attribute (read-only) is basically a clone of the information available in /proc/scsi/scsi -- since that interface is going away, adding a new sysfs attribute seemed like a good idea.
-
Alan Stern authored
There's a couple of old patches floating around still that you might want to apply. I have reproduced them below. as129 handles the situation where a command error causes us to do a device reset, but the SCSI layer times out and aborts the command during the reset delay. It clears a flag that otherwise will prevent us from sending the clear-halt messages following the reset. as141 is the DMA buffer alignment patch. You asked me to remind you about it eventually. There shouldn't be any harm at all in applying it without waiting for the corresponding SCSI part of the patch to be applied. Without that other part, this will essentially do nothing. Alan Stern
-
- 12 Dec, 2003 1 commit
-
-
Matthew Dharm authored
This patch basically eliminates the use of MODE_SENSE or MODE_SENSE_10 for direct-access USB storage devices. That $&%*! command has caused us more trouble than all the others combined, and after more than a year we still don't have a good way of handling/using them. I constantly get complaints about devices which don't work because of the way 2.5/6 uses MODE_SENSE and MODE_SENSE_10 -- this patch will greatly increase compatiblity with devices. As with the patch to limit transfer sizes, I'd like to see this applied as soon as possible. Matt > ----- Forwarded message from Patrick Mansfield <patmans@us.ibm.com> ----- > > Date: Thu, 20 Nov 2003 08:28:27 -0800 > From: Patrick Mansfield <patmans@us.ibm.com> > Subject: [PATCH] don't send any MODE SENSE commands to usb mass storage devices > To: mdharm-scsi@one-eyed-alien.net Matthew - Is this patch in your queue? I don't see it in Linus' tree yet. Don't send any MODE SENSE commands to usb mass storage devices.
-
- 21 Nov, 2003 1 commit
-
-
Linus Torvalds authored
-
- 16 Oct, 2003 1 commit
-
-
Patrick Mansfield authored
Re-roll of the patch against 2.6.0-test6 to allow overriding or setting of mode sense related flags, includes Alan Stern's as95 patch minus his scsiglue.c changes. Moves scsi_devinfo.h for use outside of drivers/scsi, and adds three new devinfo flags: BLIST_MS_SKIP_PAGE_08 BLIST_MS_SKIP_PAGE_3F BLIST_USE_10_BYTE_MS Adds a per host template flags, and use of it in scsiglue.c. The per host value can be overridden by a devinfo entry, the patch does not allow scsi_default_dev_flags to override default host values. USB mass storage and removable media (for testing mode page 3f use) were not tested, if you have a USB storage device that still chokes on mode sense 3f please give this a spin. drivers/scsi/scsi_devinfo.c | 15 +++++++++++---- drivers/scsi/scsi_devinfo.h | 17 ----------------- drivers/scsi/scsi_priv.h | 3 ++- drivers/scsi/scsi_scan.c | 17 +++++++++++++---- drivers/scsi/sd.c | 9 +++++++++ drivers/usb/storage/scsiglue.c | 8 ++++---- include/scsi/scsi_device.h | 2 ++ include/scsi/scsi_devinfo.h | 22 ++++++++++++++++++++++ include/scsi/scsi_host.h | 6 ++++++ 9 files changed, 69 insertions(+), 30 deletions(-)
-
- 14 Jul, 2003 1 commit
-
-
Matthew Dharm authored
This patch removes all of the mode-translation logic. It's no longer needed, as the upper-level drivers now all issue the proper 10-byte commands. This is a large patch, but what it's doing is removing a great deal of unneeded code -- about 650+ lines removed, according to diffstat. Those of you who are having some trouble getting your DVD-RAMs detected properly should have all your problems solved by an upcoming patch from the SCSI folks. It may look like that problem is related to this patch, but it isn't -- it's a side-effect of another SCSI patch to consolidate code. Special thanks to James Bottomley for being patient enough to work with me on these issues on the SCSI layer. This, BTW, makes US_FL_MODE_XLATE a NOP. The symbol is kept for the purpose of allowing unusual_devs.h to be consistent between 2.4 and 2.5 There are still a few places where more code could (potentially) be removed. I need to mull over the UFI specification to be sure, tho.
-
- 30 Jun, 2003 1 commit
-
-
Matthew Dharm authored
This patch avoids sending URBs which are part of the reset system when the device is being disconnected. It also makes the control thread avoid starting anything for a device in that state.
-
- 16 Jun, 2003 2 commits
-
-
Matthew Dharm authored
This patch (a) removes dead code, (b) renames some static functions with names that are more apropriate for static functions, and (c) implements a slave_configure() function. With the patch I just sent to Linus (et al.) to fix the SCSI core to allow slave_configure() to tweak (meaningfully) the two variables I need to set, we'll be able to remove US_FL_MODE_XLATE. (Well, actually, we also need to fix sr.c to respect the use_10_for_ms flag, but that should be easy once the rest is done.)
-
Matthew Dharm authored
Some minor cleanups. First, some locking in the bus-reset. Next, we move current_sg into struct us_data (why make more memory allocation issues for ourselves?). Next, we change sm_state into a normal variable, since it shouldn't require atomic_t anytmore. Finally, we remove some references to a couple of flags that don't do anything anymore. # Fix device locking during the bus-reset routine. # # Embed current_sg in struct us_data. # # Make us->sm_state a regular int instead of an atomic_t. # # Remove a couple of references to the START_STOP and IGNORE_SER # flag bits.
-
- 11 Jun, 2003 1 commit
-
-
Christoph Hellwig authored
It's unused now. Also kill off the stupid = NULL initializations in usb-storage that made this not compile the first time..
-
- 06 Jun, 2003 1 commit
-
-
Christoph Hellwig authored
namely struct scsi_host_template and make the scsi core use this instead of the typedef everywhere.
-
- 01 Jun, 2003 1 commit
-
-
Matthew Dharm authored
This patch replaces usb_control_msg() with usb_stor_control_msg() everywhere, which allows better abort/disconnect processing. Some comments are fixed-up. The GetMaxLUN function is moved later so URBs are initialized (now that it uses the new control_msg() ). There is also some locking cleanup during reset.
-
- 29 May, 2003 1 commit
-
-
Matthew Dharm authored
This patch re-organizes abort handling and enhances disconnect handling. Not only do we keep track of the state (ABORTING, IDLE, etc.), but during an abort we now introduce the idea of 'okay to send' or not. The idea is that we can now implement reset-after-abort properly. We also track if we're disconnecting, and use that data to determine if we can submit URBs or not. Which means we can now disconnect during an abort. This patch is from Alan Stern.
-
- 19 May, 2003 1 commit
-
-
Christoph Hellwig authored
Yeah, I know the method is obsolete but for proper refcounting we need to get rid of all those scsi_host_hn_get() abusers. scsi_host_hn_get() and scsi_host_put() are not exported anymore after this patch.
-
- 07 Apr, 2003 2 commits
-
-
Matthew Dharm authored
This patch adds some information about the quirks of the device to the /proc interface.
-
Matthew Dharm authored
This patch changes BUG and BUG_ON to print error messages. It is done to be (a) a little more robust, and (b) complies with Linus' idea of no BUGs unless absolutely necessary.
-
- 25 Mar, 2003 3 commits
-
-
Greg Kroah-Hartman authored
-
Oliver Neukum authored
- add logging to reset
-
Oliver Neukum authored
> In the absence of far-reaching changes to the API, my suggestion is to > have the emulated SCSI bus reset code in usb-storage do nothing but log an > error message and return an error code. For the time being, considering > how infrequently these resets occur, we can simply rely on the user > unplugging the USB cable and putting it back in or cycling the power to > the drive. (Yes, there are situations where these resets crop up > regularly -- but they are the result of some other incompatibility that a > device reset won't fix anyway.) OK, as the consensus seems to be that in the short run changing things for a full reset implementation is not worth it, here's an implementation that does the best we can do without. It issues a reset only if we can be sure that there are no other users of the device in question. As the version currently in the storage driver is broken anyway, this is a definite improvement. And it addresses the need of exporting the probe/remove functions for storage's sake.
-
- 04 Feb, 2003 4 commits
-
-
Linus Torvalds authored
-
Matthew Dharm authored
This patch makes us hold the host reference count a little bit longer in the /proc interface code. We were releasing it too early before.
-
Matthew Dharm authored
This patch removes the US_FL_DEV_ATTACHED flag, which is now rendered obsolete by the new hotplug system. It also adds a comment or two about areas of code that need to be re-examined.
-
Matthew Dharm authored
The attached patch is my first implementation of SCSI hotplugging. It's only been tested that it compiles, as I can't get the current linux-2.5 tree from linuxusb to boot. It dies _very_ early. Greg, I'm not sure if you'll want to apply this. Linus seemed to want this very much, and it is 2.5.x... I say go for it, but I can understand if you have reservations. I would definately like to see this tested by anyone who can get a kernel to boot. This patch is quite large. Lots of things had to be changed. Among them: (o) The proc interface now uses the host number to look up the SCSI host structure, and then finds the usb-storage structure from that. (o) The SCSI interface has been changed. The code flow is now much clearer, as more work is done from the USB probe/detach functions than from auxillary functions. (o) Names have been changed for newer conventions (o) GUIDs have been removed (o) The linked-list of devices has been removed, and it's associated semaphore (o) All code dealing with re-attaching a device to it's old association has been removed (o) Some spaces changed to tabs (o) usb-storage now takes one directory under /proc/scsi instead of one per virtual-HBA (o) All control threads now have the same name. This could be changed back to the old behavior, if enough people want it. Known problems: (o) Testing, testing, testing (o) More dead code needs to be cut (o) It's a unclear how a LLD is supposed to cut off the flow of commands, so that the unregister() call always succeeds. SCSI folks need to work on this. (o) Probing needs to be broken down into smaller functions, probably.
-
- 13 Jan, 2003 3 commits
-
-
Greg Kroah-Hartman authored
Also makes usb_ifnum_to_if() a public function
-
Patrick Mansfield authored
It looks like there is a missing scsi_set_device() call in scsiglue.c, (similiar to what happens if we handled NULL dev pointer in scis_add_host) so all the usb scsi devices end up under /sysfs/devices. I don't have any usb mass storage devices, this patch against 2.5 bk compiles but otherwise is not tested. It should put the usb-scsi mass storage devices below the usb sysfs dev (I assume in your case under /sysfs/devices/pci0/00:07.2/usb1/1-2/1-2.4/1-2.4.4).
-
Luben Tuikov authored
his patch makes the conversion from scsi cmd->host to scsi cmd->device->host for drivers/scsi/*, drivers/usb/storage/*, drivers/ieee1394/*, drivers/message/fusion/* .
-
- 11 Nov, 2002 1 commit
-
-
Matthew Dharm authored
This patch fixes some spelling errors and makes some comments a bit more clear.
-
- 29 Oct, 2002 1 commit
-
-
David Brownell authored
This patch splits up the usb structures to have two structs, "usb_XXX_descriptor" with just the descriptor, and "usb_host_XXX" (or something similar) to wrap it and add the "extra" pointers plus the array of related descriptors that the host parsed during enumeration. (2 or 3 words extra in each"usb_host_XXX".) This further matches the "on the wire" data and enables the gadget drivers to share the same header file. Covers all the linux/drivers/usb/* and linux/sound/usb/* stuff, but not a handful of other drivers (bluetooth, iforce, hisax, irda) that are out of the usb tree and will likely be affected.
-
- 16 Sep, 2002 2 commits
-
-
Greg Kroah-Hartman authored
-
Matthew Dharm authored
This patch converts all uses of page_addres() to the sg_address() macro. This will make backporting to 2.4 easier, as well as eliminate lots of redundant code.
-
- 21 Aug, 2002 1 commit
-
-
Matthew Dharm authored
Apparently, some new 2.5 scsi code tries to get the vital product data pages using the INQUIRY command. Unfortunately, most USB devices do not support this. The following patch intercepts all EVPD requests and responds with the per-spec response of "Illegal Request: Invalid field in CDB".
-
- 14 Aug, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 05 Aug, 2002 1 commit
-
-
Greg Kroah-Hartman authored
As requested by Adam Richter.
-
- 19 Jul, 2002 1 commit
-
-
Rusty Russell authored
Name: Designated initializers for drivers/usb Author: Rusty Russell Status: Trivial D: The old form of designated initializers are obsolete: we need to D: replace them with the ISO C forms before 2.6. Gcc has always supported D: both forms anyway.
-
- 07 Jul, 2002 3 commits
-
-
Matthew Dharm authored
This patch fixes some spelling errors and adds some BUG_ON() calls so we can make sure that all this new code is working properly.
-
Matthew Dharm authored
This patch changes how the exit code works to be cleaner, fixes the OOPS on rmmod, consolidates some anti-race code from several places to just one, and also eliminates some theoretical race conditions.
-
Matthew Dharm authored
This patch unifies all the bit tests and various flags into a single, unified system. Matt
-
- 18 Jun, 2002 1 commit
-
-
Matthew Dharm authored
This patch changes from using an atomic_t with two states to using a bitfield to determine if a device is attached. It also moves some common #defines into a common header file. courtsey of Alan Stern <stern@rowland.org>
-
- 29 May, 2002 1 commit
-
-
Matthew Dharm authored
Here's a patch which does three things: (1) It removes some dead code. (2) It moves more code to using the new state machine (3) It fixes a long standing bug relating to the sense data for a detached device.
-