aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/storage
AgeCommit message (Collapse)Author
2006-10-05IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid Howells
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
2006-10-03Fix several typos in drivers/Matt LaPlante
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-09-30[PATCH] BLOCK: Make USB storage depend on SCSI rather than selecting it [try #6]David Howells
This makes CONFIG_USB_STORAGE depend on CONFIG_SCSI rather than selecting it, as selecting it makes CONFIG_USB_STORAGE override the dependencies of SCSI, causing it to turn on even if they aren't all met. Signed-Off-By: David Howells <dhowells@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
2006-09-28USB Storage: unusual_devs.h entry for Sony Ericsson P990iJan Mate
USB Storage: this patch adds support for Sony Ericsson P990i Signed-off-by: Jan Mate <mate@fiit.stuba.sk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-28USB: unusual-devs entry for Nokia E60Alan Stern
This patch (as794) adds an unusual_devs entry for the Nokia E60. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-27[PATCH] USB Storage: fix Rio Karma eject support build errorAndrew Morton
In file included from drivers/usb/storage/usb.c:180: drivers/usb/storage/unusual_devs.h:221: error: 'US_PR_KARMA' undeclared here (not in a function) drivers/usb/storage/unusual_devs.h:221: error: 'rio_karma_init' undeclared here (not in a function) Cc: Keith Bennett <keith@mcs.st-and.ac.uk> Acked-by: Bob Copeland <me@bobcopeland.com> Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-27USB: Dealias -110 code (more complete)Pete Zaitcev
The purpose of this patch is to split off the case when a device does not reply on the lower level (which is reported by HC hardware), and a case when the device accepted the request, but does not reply at upper level. This redefinition allows to diagnose issues easier, without asking the user if the -110 happened "immediately". The usbmon splits such cases already thanks to its timestamp, but it's not always available. I adjusted all drivers which I found affected (by searching for "urb"). Out of tree drivers may suffer a little bit, but I do not expect much breakage. At worst they may print a few messages. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-27USB: replace kernel_thread() with kthread_run() in libusual.cMatthew Dharm
Replaced kernel_thread() with kthread_run() since kernel_thread() is deprecated in drivers/modules. Signed-off-by: Cedric Le Goater <clg@fr.ibm.com> Cc: 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>
2006-09-27usb-storage: fix for UFI LUN detectionAlan Stern
The UFI specification doesn't permit devices to indicate non-existent LUNs in the manner prescribed by the SCSI spec. This patch (as773) sets a special flag so that the SCSI scanner will recognize these devices and treat them specially. 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>
2006-09-27USB Storage: add rio karma eject supportMatthew Dharm
This changeset from Keith Bennett (via Bob Copeland) moves the Karma initializer to its own file and adds trapping of the START_STOP command to enable eject of the device. Signed-off-by: Keith Bennett <keith@mcs.st-and.ac.uk> Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-27USB: onetouch - handle errors from input_register_device()Dmitry Torokhov
Onetouch: handle errors from input_register_device() Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-27USB: unusual_dev entry for Sony P990iPhil Dibowitz
This patch is a re-diffed version of one originally sent by Jan Mate <mate@fiit.stuba.sk>. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-27USB: unusual_devs entry for Lacie DVD+-RWAlan Stern
This patch (as781) adds an entry to unusual_devs.h for the Lacie DVD+-RW drive. Apparently its USB interface has requirements similar to the Genesys Logic interface; it doesn't like data to be sent too soon after a command. This fixes Bugzilla #6817. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-31USB Storage: unusual_devs.h for Sony Ericsson M600iPhil Dibowitz
This entry was sent in by Emmanuel Vasilakis <evas@forthnet.gr>, turned into a patch by yours truly. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-31USB Storage: Remove the finecam3 unusual_devs entryPhil Dibowitz
This patch removes the Kyocera Finecam L3 entry in unusual devices originally submitted by Michael Krauth <michael.krauth@web.de> and Alessandro Fracchetti <al.fracchetti@tin.it> given that Gerriet <ger.haw@gmx.de> finds he doesn't need it and Alessandro confirms it isn't needed anymore as well. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-31USB floppy drive SAMSUNG SFD-321U/EP detected 8 timesjuergen.mell@t-online.de
USB floppy drive SAMSUNG SFD-321U/EP detected 8 times Acked-by: mantel@suse.de Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-26[PATCH] unusual_devs update for UCR-61S2BAlan Stern
The existing unusual_devs entry for the UCR-61S2B appears to have too wide a revision range. It matches at least one device that doesn't respond to the initialization sequence. Perhaps the sequence needs to be updated, or perhaps something else can be done. For now, this patch (as764) restricts the range to include only the revision mentioned in the original comment. This resolves (for now!) Bugzilla entry #6950. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-11USB: unusual_devs entry for A-VOX WSX-300ER MP3 playerDavid Kuehling
This patch (as763) adds an unusual_devs entry for the A-VOX WSX-300ER MP3 player. From: David Kuehling <dvdkhlng@gmx.de> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-02USB: unusual_devs entry for Nokia 3250Alan Stern
Here is another unusual_devs entry (as760) for another Nokia device, this time the 3250. From: Mario Rettig <mariorettig@web.de> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-02USB: unusual_devs device removalPhil Dibowitz
This entry has been a mystery for some time. I had sent this patch as an RFC a while ago, and now we've had two reports of this not being needed, so I'm removing it. In the event there are reports of breakage, we should revert this patch, but add a US_FL_NEED_OVERRIDE flag. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-08-02usb-storage: Add US_FL_IGNORE_DEVICE flag; ignore ZyXEL G220FDaniel Drake
This patch adds a new unusual_devs flag for when usb-storage needs to ignore a device that it would otherwise claim. We need to ignore the ZyXEL G220F as it is a virtual CDROM drive which includes the windows driver for this USB-WLAN adapter. After the windows driver is installed on a windows system, it converts it into a WLAN adapter (by ejecting the virtual disc). The virtual CDROM is of no interest to Linux users. The zd1211rw driver will automatically perform the eject operation, we just need to ensure that usb-storage does not claim the device. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12[PATCH] USB: another unusual devicePhil Dibowitz
Please add the attached device to unusual_devs.h. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12[PATCH] USB: unusual_devs entry for Sony DSC-H5Lars Jacob
This patch (as749) extends the unusual_devs entry for the Sony DSC-T1 and T5 to cover the H5 as well. From: Lars Jacob <jacob.lars@googlemail.com> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12[PATCH] USB: unusual_devs entry for Nokia E61Alan Stern
This patch (as748) adds an unusual_devs entry for the Nokia E61 mobile phone. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12[PATCH] USB: unusual_devs entry for Nokia N91Alan Stern
This patch (as745) adds an unusual_devs entry for the Nokia N91, just like the entry for the N80 added a couple of weeks ago. Apparently Nokia isn't using very good firmware these days... Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12[PATCH] USB Storage: Uname in PR/SC Unneeded messagePhil Dibowitz
This patch adds the kernel version to the usb-storage Protocol/SubClass unneeded message in order to help us troubleshoot such problems. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12[PATCH] USB Storage: US_FL_MAX_SECTORS_64 flagPhil Dibowitz
This patch adds a US_FL_MAX_SECTORS_64 and removes the Genesys special-cases for this that were in scsiglue.c. It also adds the flag to other devices reported to need it. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12[PATCH] USB: unusual_devs entry for Samsung MP3 playerErnis
This patch (as730) contains an unusual_devs entry for a Samsung MP3 device. From: Ernis <ernisv@gmail.com> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12[PATCH] usb-storage: unusual_devs entry for Motorola RAZR V3xDavide Perini
This patch (as725) adds an unusual_devs entry for the Motorola RAZR V3x. From: Davide Perini <perini.davide@dpsoftware.org> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12[PATCH] usb-storage: fix race between reset and disconnectAlan Stern
My recent patch converting usb-storage to use usb_reset_composite_device() added a bug, a race between reset and disconnect. It was necessary to drop the private lock while executing a reset, and if a disconnect occurs at that time it will cause a crash. This patch (as722) fixes the problem by explicitly checking for an early termination after executing each command. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-10[PATCH] usb-storage: wait for URB to completeAlan Stern
We all failed to notice that Franck's recent update to usb-storage allowed an URB to complete after its context data was no longer valid. This patch (as746) makes the driver wait for the URB to complete whenever there's a timeout. Although timeouts in usb-storage are relatively uncommon, they do occur. Without this patch the code in 2.6.18-rc1 will fault within an interrupt handler, which is not nice at all. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-30Remove obsolete #include <linux/config.h>Jörn Engel
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-06-26Clean up 'inline is not at beginning' warnings for usb storageJesper Juhl
Usually we don't care much about 'gcc -W' warnings, but some of us do build kernels that way to look for problems, and then the fewer warnings we have to wade through the better. Especially when they are very easy and non-intrusive to clean up. Which is the case for the following warnings spewed by drivers/usb/storage/usb.h : drivers/usb/storage/usb.h:163: warning: `inline' is not at beginning of +declaration drivers/usb/storage/usb.h:166: warning: `inline' is not at beginning of +declaration There's also some precedence for cleaning up these warnings. I've had a few patches merged in the past that remove exactly this class of warnings. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-06-21[PATCH] USB: move <linux/usb_input.h> to <linux/usb/input.h>David Brownell
Move <linux/usb_input.h> to <linux/usb/input.h> and remove some redundant includes. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21[PATCH] USB: unusual_devs entry for Nokia N80Alan Stern
Here is a patch (as720) adding an unusual_devs entry for the Nokia N80 mobile phone. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21[PATCH] usb-storage: unusual_devs entry for Nikon DSC D70sAlan Stern
This patch (as704) adds an unusual_devs entry for the Nikon DSC D70s, which uses a different Product ID from the D70. It also moves the entry for the DSC E2000 up in the list, to preserve the numerical ordering. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21[PATCH] usb-storage: use usb_reset_composite_deviceAlan Stern
This patch (as701) modifies usb-storage to take advantage of the new usb_reset_composite_device() API. Now we will be able to safely request port resets even if other drivers are bound to a mass-storage device. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21[PATCH] usb-storage: get rid of the timer during URB submissionFranck Bui-Huu
This patch uses completion timeout instead of a timer to implement a timeout when submitting an URB. It also put the task in interruptible state instead of an uninterruptible one while waiting for the completion. Signed-off-by: Franck Bui-Huu <vagabon.xyz@gmail.com> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21[PATCH] USB: usb-storage alauda: Fix transport info mismergeDaniel Drake
Unfortunately it looks like the transport entry for this subdriver was merged into the protocol section, making this driver unusable :( Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21[PATCH] USB shuttle_usbat: hardcode flash detection for nowDaniel Drake
After some further testing with my flash device I realised that our current probe doesn't always work (e.g. when no media is inserted). Now that Peter Chubb's patch has simplified the detection of 99% of the HP CD writers out there, we have a much smaller range of hardware to work with on the shared device ID, so it should be possible to try some of the previous probe options again: we just need to find another tester with a USBAT2-based HP CD writer. This patch hardcodes the flash detection until someone comes along with one of these obscure CD drives. Note that these devices are extremely rare, so even if we can't ever find a decent probe method, at least we will be supporting almost all of the USBAT-based hardware out there. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21[PATCH] USB: shuttle_usbat: Hardcode detection of HP CDRW devicesPeter Chubb
Use USB vendor and product IDs to determine whether the attached device is a CDROM or a Flash device. Daniel Drake says that the *same* vendor and product IDs for non-HP vendor ID could be either flash or cdrom, so try to probe for them. Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au> Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-06-21[PATCH] USB: shuttle_usbat: Fix handling of scatter-gather buffersPeter Chubb
I've worked out what's going wrong. The scsi layer is now much more likely to pass down scatterlists instead of plain buffers. So you have to make sure that they're handled correctly. In one of the changes along the way, usbat_write_block and friends stopped obeying the srb->use_sg flag. Anyway, with the appended patch, and the one I'm putting in the next email, it all seems to work for the HP cd4e. Of course, someone's going to have to test it with the flash drives as well.... This patch teaches the usbat_{read,write}_block functions to obey the use_sg flag in the scsi-request. Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au> Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-04-27[PATCH] USB: storage: atmel unusual dev updateOlivier Blondeau
Originally submitted by Olivier Blondeau <zeitoun@gmail.com>, with re-diffing by me. Adds a new atmel unusual_dev entry. Signed-off-by: Phil Dibowitz <phil@ipom.com>
2006-04-27[PATCH] USB: Storage: unusual devs updatePhil Dibowitz
This patch removes the Protocol portion of the Iomega Click! device as it's not needed. Not-needed message reported by Kenneth Crudup <kenny@panix.com> Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-04-17[PATCH] isd200: limit to BLK_DEV_IDERandy Dunlap
Limit USB_STORAGE_ISD200 to whatever BLK_DEV_IDE and USB_STORAGE are set to (y, m) since isd200 calls ide_fix_driveid() in the BLK_DEV_IDE code. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20[PATCH] USB: storage: new unusual_devs.h entry: Mitsumi 7in1 Card ReaderRodolfo Quesada
This patch (as661) adds an unusual_devs entry for the Mitsumi 7in1 Card Reader. From: Rodolfo Quesada <rquesada@roqz.net> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20[PATCH] USB: storage: unusual_devs.h entry 0420:0001Pete Zaitcev
Ref https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=176584 Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20[PATCH] USB: storage: another unusual_devs.h entryPete Zaitcev
Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20[PATCH] USB: storage: sandisk unusual_devices entryPhil Dibowitz
The following adds an unusual_devs entry for the SanDisk ImageMate CompactFlash USB drive, for the US_FL_FIX_CAPACITY flag. Additionally, it removes trailing whitespace from the previous entry. It's based on the patch sent by Roman Hodek <roman@hodek.net>. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-03-20[PATCH] USB: kzalloc() conversion for rest of drivers/usbEric Sesterhenn
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>