summaryrefslogtreecommitdiffstats
path: root/drivers/usb
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] BLOCK: Make USB storage depend on SCSI rather than selecting it [try #6]David Howells2006-09-301-3/+2
| | | | | | | | | 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>
* USB: fix build error in ohci driverGreg Kroah-Hartman2006-09-281-2/+2
| | | | | | | Thanks to Andrew for the original patch for this. I need to upgrade my version of gcc to catch these things... Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: g_file_storage: Set sense info Valid bit only when neededAlan Stern2006-09-281-1/+15
| | | | | | | | | | | Strictly speaking, the Valid bit in SCSI sense data is supposed to be set only when the Information field contains a valid number. This patch (as793) turns off the Valid bit when the Information field hasn't been set. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: fix autosuspend when CONFIG_PM isn't setAlan Stern2006-09-284-26/+42
| | | | | | | | | This patch (as791b) fixes things up to avoid compiler warnings or errors when CONFIG_USB_SUSPEND or CONFIG_PM isn't set. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* OHCI: add auto-stop supportAlan Stern2006-09-283-84/+164
| | | | | | | | | | | | This patch (as790b) adds "autostop" support to ohci-hcd: the driver will automatically stop the host controller when no devices have been connected for at least one second. This feature is useful when the USB autosuspend facility isn't available, such as when CONFIG_USB_SUSPEND hasn't been set. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* OHCI: remove existing autosuspend codeAlan Stern2006-09-281-44/+6
| | | | | | | | | | | | The autosuspend technique used by ohci-hcd doesn't mesh well with the newer USB core autosuspend code. This patch (as789) removes ohci-hcd's autosuspend support. Now the driver will be usable, but it won't automatically go into a low-power state when no devices are connected. That's for a later patch. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: allow both root-hub interrupts and pollingAlan Stern2006-09-281-2/+1
| | | | | | | | | | Originally I didn't think any host controller driver would ever use interrupts and polling at the same time, but it turns out ohci-hcd wants to do exactly that. This patch (as788) makes it possible. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: g_file_storage: fix "ignoring return value" warningsAlan Stern2006-09-281-7/+12
| | | | | | | | | This patch (as792) fixes "ignoring return value" warnings in file_storage.c. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: dummy-hcd: fix "warn-unused-result" messagesAlan Stern2006-09-281-10/+23
| | | | | | | | This patch (as758) fixes the "warn-unused-result" messages in dummy-hcd. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: create new workqueue thread for USB autosuspendAlan Stern2006-09-283-8/+46
| | | | | | | | | | | | | | This patch (as787) creates a new workqueue thread to handle delayed USB autosuspend requests. Previously the code used keventd. However it turns out that the hub driver's suspend routine calls flush_scheduled_work(), making it a poor candidate for running in keventd (the call immediately deadlocks). The solution is to use a new thread instead of keventd. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB Storage: unusual_devs.h entry for Sony Ericsson P990iJan Mate2006-09-281-0/+7
| | | | | | | | | 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>
* USB: microtek usb scanner: Scsi_Cmnd conversionHenrik Kretzschmar2006-09-282-11/+11
| | | | | | | | | | Converts obsolete typedef'd Scsi_Cmnd into struct scsi_cmnd. Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de> Cc: James Bottomley <James.Bottomley@steeleye.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: fixes kerneldoc errors in usbcore-auto(susp/res)-patchHenrik Kretzschmar2006-09-281-6/+6
| | | | | | | | | | | Fixes kerneldoc errors on usb/core/driver.c, which occured in 2.6.18-rc6-mm2 gregkh-usb-usbcore-add-autosuspend-autoresume-infrastructure.patch Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: add Raritan KVM USB Dongle to the HID_QUIRK_NOGET blacklistRaghavendra Biligiri2006-09-281-0/+4
| | | | | | | | | | During Installation the host tries to enumerate the keyboard/mouse dongle for the Raritan KVM.At this time timeouts have been observed Adding the Raritan KVM USB dongle to the blacklist fixes this issue. Signed-off-by: Raghavendra Biligiri <Raghavendra_Biligiri@Dell.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: asix - Add alternate device IDs for Dlink DUB-E100 Rev B1David Hollis2006-09-281-0/+4
| | | | | | | | Add alternate device IDs for Dlink DUB-E100 Rev B1 Signed-off-by: David Hollis <dhollis@davehollis.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* usb-serial: possible irq lock inversion (PPP vs. usb/serial)Peter Zijlstra2006-09-287-21/+21
| | | | | ========================================================= [ INFO: possible irq lock inversion dependency detected ]
* ohci: Use ref-counting hotplug safe interfacesAlan Cox2006-09-281-1/+2
| | | | | | | | | We want to avoid legacy APIs like pci_find_slot(). Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: Fix alignment of buffer passed down to ->hub_control()Mikael Pettersson2006-09-281-1/+2
| | | | | | | | | Implementations assume the buffer is at least 4 byte aligned. Signed-off-by: David S. Miller <davem@davemloft.net> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: add SeaLevel 2106 SeaLINK support to ftdi_sioJustin Carlson2006-09-282-0/+2
| | | | | | | | | | | | | | We have a couple of these USB-Serial converters around; they're slightly different from the 2104 models in that they can handle 500Kb/sec over RS422. The existing ftdi driver seems to work just fine if we add in the appropriate IDs. Patch is against 2.6.17.6, but should apply cleanly to pretty much anything recent. From: Justin Carlson <justinca@qatar.cmu.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: New PhidgetKit 8/8/8 reset outputs after 2 secondsSean Young2006-09-281-19/+37
| | | | | | | | | New phidget interface kits (type 8/8/8) reset their outputs if they haven't received a set report for 2 seconds. Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: another device ID for ipaqMatthias Urlichs2006-09-281-0/+1
| | | | | | | | | Add yet another device ID to the ipaq USB-serial driver. Signed-Off-By: Matthias Urlichs <matthias@urlichs.de> Cc: Ganesh Varadarajan <ganesh@veritas.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB serial ftdi_sio: Add support for Tactrix OpenPort devicesIan Abbott2006-09-282-0/+12
| | | | | | | | | | | This patch adds support for three OpenPort ECU data cables from Tactrix Inc. to the ftdi_sio driver's device ID table. One of the PIDs was supplied by Donour Sizemore on the ftdi-usb-sio-devel mailing list. The other two were added by myself after examining the Windows driver software. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: Pegasus driver failing for ADMtek 8515 network devicePetko Manolov2006-09-281-7/+11
| | | | | | | | | | | | | | | | | | | | | Address http://bugzilla.kernel.org/show_bug.cgi?id=7126 Attempting to read the ethernet ID directly from the eeprom somehow confuses ADM8515. Subsequent read requests to either the eeprom or the MII fail as well. Didn't dig much deeper, though. For example ADM8513 does not experience this problem. I used the fact that at power up the device is reading its ID automatically (not true for older Pegasus based devices) and put it in the Ethernet ID registers. So now the driver uses get_registers() instead of read_eprom_word() if the device is Pegasus_II based one. Tested it with all (Pegasus and Pegasus_II) gadgets i have and everything seems ok. Cc: <jogeedaklown@yahoo.com> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: unusual-devs entry for Nokia E60Alan Stern2006-09-281-0/+7
| | | | | | | | 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>
* USB: Add vendor / product ID to pl2303Wesley PA4WDH2006-09-282-0/+5
| | | | | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: new id for kawethOliver Neukum2006-09-281-0/+1
| | | | | | | | | this adds a new id to the kaweth driver. Please apply. Signed-Off-By: Oliver Neukum <oliver@neukum.name> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2006-09-281-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (130 commits) [ARM] 3856/1: Add clocksource for Intel IXP4xx platforms [ARM] 3855/1: Add generic time support [ARM] 3873/1: S3C24XX: Add irq_chip names [ARM] 3872/1: S3C24XX: Apply consistant tabbing to irq_chips [ARM] 3871/1: S3C24XX: Fix ordering of EINT4..23 [ARM] nommu: confirms the CR_V bit in nommu mode [ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores. [ARM] 3870/1: AT91: Start removing static memory mappings [ARM] 3869/1: AT91: NAND support for DK and KB9202 boards [ARM] 3868/1: AT91 hardware header update [ARM] 3867/1: AT91 GPIO update [ARM] 3866/1: AT91 clock update [ARM] 3865/1: AT91RM9200 header updates [ARM] 3862/2: S3C2410 - add basic power management support for AML M5900 series [ARM] kthread: switch arch/arm/kernel/apm.c [ARM] Off-by-one in arch/arm/common/icst* [ARM] 3864/1: Refactore sharpsl_pm [ARM] 3863/1: Add Locomo SPI Device [ARM] 3847/2: Convert LOMOMO to use struct device for GPIOs [ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h ...
| * [ARM] 3865/1: AT91RM9200 header updatesAndrew Victor2006-09-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more preparation for adding support for the new Atmel AT91SAM9 processors. Changes include: - Replace AT91_BASE_* with AT91RM9200_BASE_* - Replace AT91_ID_* with AT91RM9200_ID_* - ROM, SRAM and UHP address definitions moved to at91rm9200.h. - The raw AT91_P[ABCD]_* definitions are now depreciated in favour of the GPIO API. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [PATCH] USB Storage: fix Rio Karma eject support build errorAndrew Morton2006-09-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | USB: Airprime driver improvements to allow full speed EvDO transfersAndy Gay2006-09-271-5/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adapted from an earlier patch by Greg KH <gregkh@suse.de>. That patch added multiple read urbs and larger transfer buffers to allow data transfers at full EvDO speed. This version includes additional device IDs and fixes a memory leak in the transfer buffer allocation. Some (maybe all?) of the supported devices present multiple bulk endpoints, the additional EPs can be used for control and status functions, This version allocates 3 EPs by default, that can be changed using the 'endpoints' module parameter. Tested with Sierra Wireless EM5625 and MC5720 embedded modules. Device ID (0x0c88, 0x17da) for the Kyocera Wireless KPC650/Passport was added but is not yet tested. From: Andy Gay <andy@andynet.net> Cc: Kevin Lloyd <linux@sierrawireless.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: remove OTG build warningDavid Brownell2006-09-271-2/+1
| | | | | | | | | | | | | | | | | | Somewhere along the line, a variable in a USB-OTG codepath stopped being used; this removes the relevant compiler warning. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: EHCI update VIA workaroundDavid Brownell2006-09-276-39/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This revamps handling of the hardware "async advance" IRQ, and its watchdog timer. Basically it dis-entangles that important timeout from the others, simplifying the associated state and code to make it more robust. This reportedly improves behavior of EHCI on some systems with VIA chips, and AFAIK won't affect non-VIA hardware. VIA systems need this code to recover from silcon bugs whereby the "async advance" IRQ isn't issued. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: force root hub resume after power lossAlan Stern2006-09-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | This patch(as785) forces the PM core to resume a root hub after a power loss during system sleep. If the root hub had been suspended before the system sleep then normally the PM core would not resume it afterward. Without this resume, various sorts of wakeup events (like port change events) can get lost. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: ohci_usb can oops on shutdownPete Zaitcev2006-09-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When ohci-hcd is shutting down (for rmmod or PC-card removal), there is a window when the device is shut down, HC communication area (->hcca) is freed, but the core has not called "free_irq" yet. If another device triggers a shared interrupt in this window, we oops when trying to access the freed ->hcca. This patch removes the window by calling free_irq before ->hcca is freed. The patch is tested at the PC hotplug test rig at Stratus, and with rmmod by Rafael Wysocki. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: Dealias -110 code (more complete)Pete Zaitcev2006-09-2713-23/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | USB: Remove unneeded void * casts in core filesTobias Klauser2006-09-275-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch removes unneeded casts for the following (void *) pointers: - struct file: private - struct urb: context - struct usb_bus: hcpriv - return value of kmalloc() The patch also contains some whitespace cleanup in the relevant areas. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: u132-hcd: host controller driver for ELAN U132 adapterTony Olech2006-09-274-0/+3325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This "u132-hcd" module is one half of the "driver" for ELAN's U132 which is a USB to CardBus OHCI controller adapter. This module needs the "ftdi-elan" module in order to communicate to CardBus OHCI controller inserted into the U132 adapter. When the "ftdi-elan" module detects a supported CardBus OHCI controller in the U132 adapter it loads this "u132-hcd" module. Upon a successful device probe() the single workqueue is started up which does all the processing of commands from the USB core that implement the host controller. The workqueue maintains the urb queues and issues commands via the functions exported by the "ftdi-elan" module. Each such command will result in a callback. Note that the "ftdi-elan" module is a USB client driver. Note that this "u132-hcd" module is a (cut-down OHCI) host controller. Thus we have a topology with the parent of a host controller being a USB client! This really stresses the USB subsystem semaphore/mutex handling in the module removal. Signed-off-by: Tony Olech <tony.olech@elandigitalsystems.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: ftdi-elan: client driver for ELAN Uxxx adaptersTony Olech2006-09-275-5/+2936
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This "ftdi-elan" module is one half of the "driver" for ELAN's Uxxx series adapters which are USB to PCMCIA CardBus adapters. Currently only the U132 adapter is available and it's module is called "u132-hcd". When the USB hot plug subsystem detects a Uxxx series adapter it should load this module. Upon a successful device probe() the jtag device file interface is created and the status workqueue started up. The jtag device file interface exists for the purpose of updating the firmware in the Uxxx series adapter, but as yet it had never been used. The status workqueue initializes the Uxxx and then sits there polling the Uxxx until a supported PCMCIA CardBus device is detected it will start the command and respond workqueues and then load the module that handles the device. This will initially be only the u132-hcd module. The status workqueue then just polls the Uxxx looking for card ejects. The command and respond workqueues implement a command sequencer for communicating with the firmware on the other side of the FTDI chip in the Uxxx. This "ftdi-elan" module exports some functions to interface with the sequencer. Note that this module is a USB client driver. Note that the "u132-hcd" module is a (cut-down OHCI) host controller. Thus we have a topology with the parent of a host controller being a USB client! This really stresses the USB subsystem semaphore/mutex handling in the module removal. Signed-off-by: Tony Olech <tony.olech@elandigitalsystems.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | usb serial: support Alcor Micro Corp. USB 2.0 TO RS-232 through pl2303 driverJohannes Steingraeber2006-09-274-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | Patch to add support for Alcor Micro Corp. USB 2.0 TO RS-232 converter. This patch adds VID and PID to pl2303.[ch], adds it to the "HORRIBLE HACK FOR PL2303" in usb-serial.c and also prevents cdc-acm to claim driving this device by blacklisting it in hid-core. Signed-off-by: Johannes Steingraeber <Jo_Stein@web.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: Moschip 7840 USB-Serial DriverPaul B Schroeder2006-09-273-0/+2978
| | | | | | | | | | | | | | Signed-off-by: Paul B Schroeder <pschroeder@uplogix.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: add PlayStation 2 Trance Vibrator driverSam Hocevar2006-09-274-1/+172
| | | | | | | | | | | | | | | | | | | | | | This patch is a driver for the PlayStation 2 specific Trance Vibrator device. The only thing that device can do is vibrate at various speeds. Signed-off-by: Sam Hocevar <sam@zoy.org> Cc: Pete Zaitcev <zaitcev@redhat.com> Cc: Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: Add ADU support for Ontrak ADU devicesSteven Haigh2006-09-275-0/+916
| | | | | | | | | | | | | | | | | | | | This patch adds support for Ontrak ADU USB devices. Fixed for printk issues by Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Steven Haigh <netwiz@crc.id.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | aircable: fix printk format warningsRandy Dunlap2006-09-271-2/+2
| | | | | | | | | | | | | | | | | | | | Fix printk format warnings: drivers/usb/serial/aircable.c:221: warning: format ‘%Zd’ expects type ‘signed size_t’, but argument 4 has type ‘int’ drivers/usb/serial/aircable.c:283: warning: format ‘%Zd’ expects type ‘signed size_t’, but argument 4 has type ‘int’ Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Add AIRcable USB Bluetooth Dongle DriverManuel Francisco Naranjo2006-09-273-0/+636
| | | | | | | | | | | | | | | | | | Add driver for AIRcable USB Bluetooth dongle. Signed-off-by: Naranjo, Manuel Francisco <naranjo.manuel@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | cypress_m8: implement graceful failure handlingMike Isely2006-09-271-15/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When receiving a fatal error from the USB core, e.g. EILSEQ (which can happen if the polling interval is too short), fail gracefully. Previously the driver would fill the log with useless error messages or (more alarmingly) silently spin forever trying to write updated control information to the device. This change implements a new flag which if cleared indicates that the driver has failed. The flag will be set on initialization, cleared on fatal errors, and anything else that touches the USB port in the driver will abort if the flag is clear. When the flag is cleared, a message will be logged indicating that the driver has failed. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | cypress_m8: improve control endpoint error handlingMike Isely2006-09-271-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix usb core function error return checks to look for negative errno values, not positive errno values. This bug had rendered those checks useless. Also remove attempted error recovery on control endpoints for EPIPE - with control endpoints EPIPE does not indicate a halted endpoint so trying to recover with usb_clear_halt() is not the correct action. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | cypress_m8: use usb_fill_int_urb where appropriateMike Isely2006-09-271-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | Rather than directly filling in URB fields, it's safer to use usb_fill_int_urb(). This improves robustness of the driver; URB changes in the future will not go uninitialized here. That point not withstanding, this driver should at least be self-consistent. Either use usb_fill_int_urb() everywhere or don't bother with it all. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | cypress_m8: use appropriate URB polling intervalMike Isely2006-09-271-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The polling interval for the device can't always be 1msec. If it is too quick, the device can fail causing a fatal (to the driver) EILSEQ error from the USB core. The actual correct value is reported by the device as part of its configuration data, so use that value as the default. On a DeLorme Earthmate for example, the device reports that it wants a 6msec interval. As part of this fix, the "interval" module option has been fixed as well; the device's default can be overridden by specifying interval=<value> as a module option. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: fix __must_check warnings in drivers/usb/serial/Greg Kroah-Hartman2006-09-272-12/+23
| | | | | | | | | | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | USB: fix __must_check warnings in drivers/usb/host/Greg Kroah-Hartman2006-09-272-6/+8
| | | | | | | | | | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>