This patch causes a port reset whenever there's a transport error or abort.
If that fails it reverts back to doing a mass-storage device reset. It
started life as as497 and was rediffed by me.
This makes error recovery a lot quicker and more reliable.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This patch does two things to help reset recovery. It started life as
as496 and was rediffed by me.
First, the patch checks the result of a CLEAR_HALT request and doesn't reset the
endpoint's data toggle unless the request succeeded.
Second, it reduces the timeout for a device reset from 20 seconds to 5
seconds.
If all goes well, then I've finally figured quilt out and this patch should
apply cleanly.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
1. Establish a simple API for process freezing defined in linux/include/sched.h:
frozen(process) Check for frozen process
freezing(process) Check if a process is being frozen
freeze(process) Tell a process to freeze (go to refrigerator)
thaw_process(process) Restart process
frozen_process(process) Process is frozen now
2. Remove all references to PF_FREEZE and PF_FROZEN from all
kernel sources except sched.h
3. Fix numerous locations where try_to_freeze is manually done by a driver
4. Remove the argument that is no longer necessary from two function calls.
5. Some whitespace cleanup
6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
cleared before setting PF_FROZEN, recalc_sigpending does not check
PF_FROZEN).
This patch does not address the problem of freeze_processes() violating the rule
that a task may only modify its own flags by setting PF_FREEZE. This is not clean
in an SMP environment. freeze(process) is therefore not SMP safe!
Signed-off-by: Christoph Lameter <christoph@lameter.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The original entry of this patch was submitted by Filippo Bardelli
<filibard@libero.it>, with cleanups and patch-ification by me.
This corrects the subclass that the device reports.
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This patch adds an unusual_devs entry for the Minolta Dimage Z10.
Originally reported by Vilisas <vilisas@xxx.lt>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This patch fixes a compiler error caused by a missing prototype. It should
apply directly to Greg KH's usb-2.6.git tree.
Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Phil Dibowitz wrote:
> 1. You're adding product IDs 1202, 1203, 1204, and 1205. 1203 was
> already there, but you remove it, OK, but 1205 is already there, so
> you'll need to fix that.
I was not removing 1203, it's just the extension of the bcd range. You are
right about 1205, as I wrote, it was a patch against 2.6.11.7. Attached is
a patch against 2.6.12-rc2.
> 2. I'm OK with the full bcd range if Apple is changing it on firmware
> revs... fine, but it's bcd, not hex... 0x9999 =)
I just copied from other entries. There're a lot 0xffffs in unusual_dev.h,
so I assumed it is correct. I changed it to 0x9999.
> 3. It's rather obnoxious to take the original submitter's credit away.
I didn't remove it, I changed it to "based on...". Because I changed
something (the range) in his entry, I thought it is the best to take the
responsibility but keep the origin. Anyway, in the new patch I did it in a
different way.
> 4. Your /proc/bus/usb/devices shows 1204, but I see no evidence 1202 is
> really an iPod.
I don't have an old iPod mini, but you find a lot of evidence here:
http://www.google.com/search?q=0x1202+ipod
Especially this one:
http://www.qbik.ch/usb/devices/showdescr.php?id=2737
> It also looks like 1205's entry is getting mangled, but I haven't
> attempted to apply the patch, so I'm not sure.
No, the patch was ok, but I agree it looks strange. It's not very
readable, because I cannot tell diff to work blockwise instead of
linewise. Because of the similarity of the entries, diff splits and merges
them. Anyway, the new patch "looks" better. ;-)
Signed-off-by: Sven Anderson <sven-linux@anderson.de>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Get rid of a bunch of redundant NULL pointer checks in drivers/usb/*,
there's no need to check a pointer for NULL before calling kfree() on it.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Index: gregkh-2.6/drivers/usb/class/audio.c
===================================================================
This patch changes the delay for the US_FL_GO_SLOW patch from 110us to 125.
Some delays need this extra delay includign Jan De Luyck's drive which spawned
the original increase from 110 to 110us. 125 is a microframe, so this delay
seems to make sense more than just be a random delay (thanks to David Brownell
for pointing that out after my original patch).
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Index: gregkh-2.6/drivers/usb/storage/transport.c
===================================================================
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!