aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb
AgeCommit message (Collapse)Author
2007-02-05hid: quirk for multi-input devices with unneeded output reportsAnssi Hannula
Add new quirk HID_QUIRK_SKIP_OUTPUT_REPORTS to skip output reports when enumerating reports on a hid-input device. Add this quirk and HID_QUIRK_MULTI_INPUT to 0810:0001. PantherLord Twin USB Joystick, 0810:0001 has separate input reports for 2 distinct game controllers in the same interface, so it needs HID_QUIRK_MULTI_INPUT. However, the device also contains one output report per controller which is used to control the force feedback function, and we do not want those to appear as separate input devices as well. The simplest approach seems to be to add a quirk to skip output reports on 0810:0001, and allow the force feedback driver to handle those. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2007-02-05hid: allow force feedback for multi-input devicesAnssi Hannula
Allow hid devices with HID_QUIRK_MULTI_INPUT to have force feedback. This was previously disabled because there were not any force feedback drivers for such devices. This will change with my upcoming patch. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2007-02-03[PATCH] fix rtl8150Al Viro
That code doesn't do what its author apparently thought it would do... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-01-30HID: fix pb_fnmode and move it to generic HIDJiri Kosina
The apple powerbook people are used to switch the pb_fnmode setting at runtime through writing to sysfs, altering the module parameter value. This was broken for them in 2.6.20-rc1 when generic HID layer was introduced, as the pb_fnmode flag was made per-hiddevice, instead of global variable. This patch moves the pb_fnmode module parameter from usbhid module to hid module, but apart from that retains backward compatibility with respect to changing the mode through sysfs. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2007-01-25USB HID: fix hid_blacklist clash for 0x08ca/0x0010Jiri Kosina
commit d8c8a393166d6283003fb111d0b4a40931c0eda4 introduced a clash in hid_blacklist for 0x08ca/0x0010 (GTCO vs. AIPTEK). As the vendor of GTCO device doesn't seem to be interested in supporting their legacy HW with this conflicting ids, it is OK to remove it. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2007-01-23[PATCH] funsoft: ktermios fixAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-01-22USB: unusual_devs.h entry for nokia 6233Manuel Osdoba
In appendix a patch for the nokia 6233 mobile phone is included. The patch is against 2.6.20-rc5. It is my first patch. Hopefully it has the right format. The code makes my nokia 6233 on my computer work. From: Manuel Osdoba <manuel.osdoba@tu-ilmenau.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-22USB: Fix for typo in ohci-ep93xx.cPetr Stetiar
Attached patch fixes typo in USB driver reported by Chase Douglas on linux-cirrus mailing list. http://www.freelists.org/archives/linux-cirrus/12-2006/msg00003.html Signed-off-by: Petr Stetiar <ynezz@true.cz> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-22USB: disable USB_MULTITHREAD_PROBEGreg Kroah-Hartman
Disable the USB_MULTITHREAD_PROBE option because it causes crashes on people's machines and they never remember to actually read the config help files. No one likes this, everyone hates it, I'm going to go eat worms... The full logic will be ripped out later. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-22USB: add vendor/device id for Option GT Max 3.6 cardsgarrett_damore@tadpole.com
This fixes http://bugzilla.kernel.org/show_bug.cgi?id=7814 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-22USB: unusual_devs.h for 0x046b:ff40Pete Zaitcev
American Megatrends did something wrong in their floppy emulator. It breaks with both kinds of MODE SENSE which our stack sends. Alan and I tried a few tweaks, and got LUNs sensed right, but US_FL_NO_WP_DETECT is still needed. I set the firmware bracket to 1.00 exactly, in case AMI or Sun fix it with a firmware update. Hey, you never know. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-22USB: make usbhid ignore Imation Disc StakkaOliver Neukum
on request of the sourceforge project for this device, a kind of robotized CD storage, it should be ignored by the generic driver. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-22USB: rndis_host: fix crash while probing a Nokia S60 mobileDaniel Gollub
Bug fix for driver rndis_host which fixes rndis_host probing certain Nokia S60 (Series 60) mobiles. While the rndis_host get probed by usbnet and tries to bind the Nokia mobile the bind is going to fail. The rndis_host module tries to release the device, in a wrong way, which cause the oops. Fixes Bugzilla #7201 Signed-off-by: Daniel Gollub <dgollub@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-22USB: asix: Detect internal PHY and enable/use accordinglyAndres Salomon
Different AX88772 dongles use different PHYs; the chip is capable of using both a primary and secondary PHY, and supports an internal and external PHY. It appears that some DUB-E100 devices use the internal PHY, so trying to use an external one will not work (note that this is different across revisions, as well; the "A" and "B" revs of the DUB-E100 use different PHYs!). The data sheet for the AX88772 chip specifies that the internal PHY id will be 0x10, so if that's read from the EEPROM, we should use that rather than attempting to use an external PHY. Thanks to Mitch Bradley for pointing this out! Signed-off-by: Andres Salomon <dilinger@debian.org> Cc: David Hollis <dhollis@davehollis.com> Cc: Chris Ball <cjb@laptop.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-22usbtouchscreen: make ITM screens report BTN_TOUCH as zero when not touchedDaniel Ritz
ITM screens send invalid x/y data when not touched. this was fixes a while ago but the problem is if the screen is not touched anymore the driver never does not report BTN_TOUCH as zero. fix it by sending the report with the last valid coordinates when pressure is released. Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Cc: J.P. Delport <jpdelport@csir.co.za> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-21hid-core.c: Adds GTCO CalComp Interwrite IPanel PIDs to blacklistJeremy Roberson
Adds GTCO CalComp Interwrite IPanels to the hid-core.c blacklist. Signed-off-by: Jeremy A. Roberson <jroberson@gtcocalcomp.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2007-01-21HID: put usb_interface instead of usb_device into hid->dev to fix udevinfo ↵Anssi Hannula
breakage The commit 4916b3a57fc94664677d439b911b8aaf86c7ec23 introduced a hid regression between 2.6.19 and 2.6.20-rc1. The device put in input_dev->cdev is now of type usb_device instead of usb_interface. Before: > # readlink -f /sys/class/input/input6/event4/device > /sys/devices/pci0000:00/0000:00:10.0/usb2/2-1/2-1:1.1 After: > # readlink -f /sys/class/input/input3/event3/device > /sys/devices/pci0000:00/0000:00:10.0/usb1/1-1 This causes breakage: > # udevinfo -q all -n /dev/input/event3 > P: /class/input/input3/event3 > N: input/event3 > S: input/by-path/pci-1-1--event- > E: ID_SERIAL=noserial > E: ID_PATH=pci-1-1- No ID_MODEL, ID_VENDOR, ID_REVISION, ID_TYPE etc etc. Fix this by assigning the intf->dev into hid->dev, and fixing all the users. Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2007-01-21HID: GEYSER4_ISO needs quirkAdrian Friedli
I've got a newer MacBook with core2duo. Two keys on the keyboard are swapped, "unswaping" works with the same trick as GEYSER3_ISO. Signed-off-by: Adrian Friedli <masteradi@gmx.ch> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2007-01-21HID: fix some ARM builds due to HID brokenness - make USB_HID depend on INPUTRussell King
We have USB_HID _newly_ selected in configurations which didn't have it before, which overrides CONFIG_HID and builds HID without input support. Nevertheless, here's a patch to solve more of the same that my original patch attempted to solve. The original patch is still required. Seems to solve the final instance of this problem here. Signed-off-by: Russell King <rmk+lkml@arm.linux.org.uk> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2007-01-11[PATCH] really fix funsoft driverDavid Miller
Fix void cast and re-enable on sparc. Signed-off-by: David S. Miller <davem@davemloft.net> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2007-01-05USB: asix: Fix AX88772 device PHY selectionDavid Hollis
A small typo in ax88772_bind() prevents the device from selecting the proper PHY, leaving the device useless. The attached patch fixes this. If this patch can be added to the 2.6.19.x series as well, that would be helpful for end-users. Signed-off-by: David Hollis <dhollis@davehollis.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05USB: usblp.c - add Kyocera Mita FS 820 to list of "quirky" printersMartin Williges
This patch gets the Kyocera FS-820 working with cups 1.2 via usb again. It adds the printer to the list of "quirky" printers. The printer seems not answer to ID requests some seconds after plugging in. Patch is based on linux-2.6.19.1. Background: As far as I could see (strace, usbmon), the Kyocera FS-820 answers to ID requests only a few seconds after plugging it in. This applies to detecting it with cups and is also true for the printing itself, which is initiated with an ID request. Since I have little usb knowledge, maybe someone can interpret the data, especially the fist bulk transfer - why request 8192 bytes? This is the second version of the patch. usbmon output of printing an email without patch: tail -F /tmp/printlog.txt c636e140 3374734463 S Bi:002:02 -115 8192 < c9d43b40 3374734494 S Ci:002:00 s a1 00 0000 0000 03ff 1023 < c9d43b40 3379732301 C Ci:002:00 -104 0 c636e140 3379733294 C Bi:002:02 -2 0 [...repeating...] with patch: tail -F /tmp/printlog.txt d9cb82c0 3729790131 S Ci:002:00 s a1 00 0000 0000 03ff 1023 < d9cb82c0 3729791725 C Ci:002:00 0 91 = 005b4944 3a46532d 3832303b 4d46473a 4b796f63 6572613b 434d443a 50434c58 df956320 3732493190 S Bo:002:01 -115 1347 = 1b252d31 32333435 5840504a 4c0a4050 4a4c2053 4554204d 414e5541 4c464545 [...more data...] Signed-off-by: Martin Williges <kernel@zut.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05sisusb_con warning fixesAndrew Morton
x86_64: drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_putc': drivers/usb/misc/sisusbvga/sisusb_con.c:405: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_putcs': drivers/usb/misc/sisusbvga/sisusb_con.c:440: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_clear': drivers/usb/misc/sisusbvga/sisusb_con.c:494: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_bmove': drivers/usb/misc/sisusbvga/sisusb_con.c:566: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_switch': drivers/usb/misc/sisusbvga/sisusb_con.c:614: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_scroll_area': drivers/usb/misc/sisusbvga/sisusb_con.c:941: warning: cast from pointer to integer of different size Cc: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05USB: Fixed bug in endpoint release function.Sarah Bailey
Error handling in usb_create_ep_files() is not correct unless the minor number is freed in ep_device_release(). Signed-off-by: Sarah Bailey <saharabeara@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05USB storage: fix ipod ejecting issuePete Zaitcev
This patch from Pete fixes the 'ejecting problem' on yet another ipod. Please applyt. Signed-off-by: Pete Zaitcev <zaitcev@yahoo.com> Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05USB Storage: unusual_devs: add supertop drivesPhil Dibowitz
This combines patches from Alan Stern and Robert Schedel for two "Super Top" drives that need the IGNORE_RESIDUE flag but have different vendor IDs. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05USB: omap_udc build fixes (sync with linux-omap)David Brownell
Resync the omap_udc driver with the latest from the Linux-OMAP tree. Changes include DMA API updates (it builds again!), clock/pm updates, minor bugfixes, whitespace. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05USB: funsoft is borken on sparcAndrew Morton
drivers/usb/serial/funsoft.c: In function `funsoft_ioctl': drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_iflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_iflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_iflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_oflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_oflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_oflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_lflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_lflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_lflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_line' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_line' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_line' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' Cc: David Clare <david@funsoft.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05USB: fix interaction between different interfaces in an "Option" usb deviceMiguel Angel Alvarez
Just the serial port in the first interface should control DTR and RTS lines. This way, the closing of the rest of the ports does not produce a= hangup in the communication. Signed-off-by: Miguel Angel Alvarez <ma.alvarez@ziv.es> Signed-off-by: Matthias Urlichs <matthias@urlichs.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05UHCI: support device_may_wakeupAlan Stern
This patch (as831) adds device_may_wakeup() support to uhci-hcd; it has been lacking for a long time. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-05UHCI: make test for ASUS motherboard more specificAlan Stern
Instead of matching all motherboards whose name contains "A7V8X" for a remote-wakeup hardware bug, this patch (as829) matches only those boards whose name is exactly equal to "A7V8X". Later motherboards don't seem to have the bug. (In fact, it's possible that only one motherboard in the world has the bug. With only one user reporting problems, it's hard to tell.) Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-04HID: fix help texts in KconfigJiri Kosina
The help text for CONFIG_HID might imply for someone that it's necessary to enable it for any keyboard or mouse attached to the system. This is obviously not correct, so fix it to avoid confusing the users. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2006-12-30[PATCH] make fn_keys work again on power/macbooksSoeren Sonnenburg
The apple fn keys don't work anymore with 2.6.20-rc1. The reason is that USB_HID_POWERBOOK appears in several files although USB_HIDINPUT_POWERBOOK is the thing to be used. The patch fixes this. Cc: Greg KH <greg@kroah.com> Cc: Dmitry Torokhov <dtor@mail.ru> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-22Merge branch 'release' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (68 commits) ACPI: replace kmalloc+memset with kzalloc ACPI: Add support for acpi_load_table/acpi_unload_table_id fbdev: update after backlight argument change ACPI: video: Add dev argument for backlight_device_register ACPI: Implement acpi_video_get_next_level() ACPI: Kconfig - depend on PM rather than selecting it ACPI: fix NULL check in drivers/acpi/osl.c ACPI: make drivers/acpi/ec.c:ec_ecdt static ACPI: prevent processor module from loading on failures ACPI: fix single linked list manipulation ACPI: ibm_acpi: allow clean removal ACPI: fix git automerge failure ACPI: ibm_acpi: respond to workqueue update ACPI: dock: add uevent to indicate change in device status ACPI: ec: Lindent once again ACPI: ec: Change #define to enums there possible. ACPI: ec: Style changes. ACPI: ec: Acquire Global Lock under EC mutex. ACPI: ec: Drop udelay() from poll mode. Loop by reading status field instead. ACPI: ec: Rename gpe_bit to gpe ...
2006-12-20USB Storage: remove duplicate Nokia entry in unusual_devs.hGreg Kroah-Hartman
How many times are we going to merge this entry... Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20[PATCH] usb serial: add support for Novatel S720/U720 CDMA/EV-DO modemsEric Smith
Add USB vendor/device IDs for Novatel Wireless S720 and U720 CDMA/EV-DO modems to airprime.c. Signed-off-by: Eric Smith <eric@brouhaha.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20[PATCH] USB: Nokia E70 is an unusual deviceAndrew Morton
Taken from http://bugzilla.kernel.org/show_bug.cgi?id=7508 When the Nokia E70 Phone is plugged in to the USB port, I get: end_request: I/O error, dev sda, sector 1824527 sd 0:0:0:0: SCSI error: return code = 0x10070000 end_request: I/O error, dev sda, sector 1824535 sd 0:0:0:0: SCSI error: return code = 0x10070000 The fix is to add these lines to drivers/usb/storage/unusual_devs.h: Cc: <honkkis@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: fix to usbfs_snoop logging of user defined control urbsChris Frey
When sending CONTROL URB's using the usual CONTROL ioctl, logging works fine, but when sending them via SUBMITURB, like VMWare does, the control fields are not logged. This patch fixes that. I didn't see any major changes to devio.c recently, so this patch should apply cleanly to even the latest kernel. I can resubmit if it doesn't. From: Chris Frey <cdfrey@foursquare.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91_udc: Additional checksWojtek Kaniewski
This patch performs additional checks in at91_udc, just in case of some spurious interrupts or device enumeration. Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91_udc: Cleanup variables after failure in usb_gadget_register_driver()Wojtek Kaniewski
This patch zeroes some variables when usb_gadget_register_driver() fails. gadgetfs does a dummy registration to get the name of the USB driver and then waits for user-land driver. If someone plugs the cable in the meantime, bad things happen, because at91_udc has been left in inconsistent state. Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91_udc: allow drivers that support high speedWojtek Kaniewski
This patch allows gadget drivers that support high speed (e.g. gadgetfs) to work properly with at91_udc. Fix suggested by Milan Svoboda in http://marc.theaimsgroup.com/?l=linux-usb-devel&m=115822184711817 Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: u132-hcd/ftdi-elan: add support for Option GT 3G Quad cardTony Olech
ELAN's U132 is a USB to CardBus OHCI controller adapter, designed specifically for CardBus 3G data cards to function in machines without a CardBus slot. The "ftdi-elan" module is a USB client driver, that detects a supported CardBus OHCI controller plugged into the U132 adapter and thereafter provides the conduit for for access by the "u132-hcd" module. The "u132-hcd" module is a (cut-down OHCI) host controller that supports a single OHCI function of the CardBus card inserted into the U132 adapter. The problem with the initial implementation is that when the CardBus card inserted into the U132 adapter has multiple functions (and a CardBus card can support up to 4 functions), it was the first function that was arbitrarily choosen. The first batch of 3G cards tested, like the Merlin Qualcomm V620, have two functions each supporting a seperate USB OHCI host controller, of which it was that first function that is wired up to the 3G modem. Then along comes the Vodafone Mobile Connect 3G/GPRS data card, aka "Option GT 3G Quad" as printed on it's rear or "Option N.V. GlobeTrotter Fusion Quad Lite" as read with "lspci -v". And it has the meaningful functionality in the second CardBus function. That presents a problem because it was the "ftdi-elan" module alone that knows how to communicate to the embedded CardBus slot and the "u132-hcd" module alone that knows how to access the pcmcia configuration and CardBus accessible memory space. And of course, the information about attached (internally hardwired) devices is contained within USB configuration embedded somewhere within the CardBus card. If only the "u132-hcd" module probe() interface could return a result code that propagated back to the instigating function platform_device_register() then the "ftdi-elan" module could try an alternative CardBus function. However in spite of the recent changes to the drivers/base/ routines that moved device_attach() from bus_add_device() to bus_attach_device() both of those routines lose the "failed to attach" 0 result code and thus the calling routine, namely device_add() is incapable of propaging the "failed to attach" condition back to platform_device_add() and consequently back to the caller of platform_device_register() Experiments show that patching bus_attach_device() to return ENODEV fails with the kernel locking up very early during boot. But, however, if the patch is restricted to calls from platform_device_add() then it does seem to work. Unfortunately, until the kernel's drivers/base is properly modified to propagate -ENODEV back to the caller of platform_device_register(), it is necessary to "fix" the "ftdi-elan" module by importing knowledge from the "u132-hcd" module. This is the reason for the duplicated functionality introduced in this patch. Signed-off-by: Tony Olech <tony.olech@elandigitalsystems.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91_udc, misc fixesAndrew Victor
This is an update to the AT91 USB Device (Gadget) driver. Adds support for the Atmel AT91SAM9260 and AT91SAM9261 processors. The only difference is how they handle the pullup pin. [Patch from Patrice Vilchez] Need to clear any pending USB Device interrupts before registering the interrupt handler. The bootloader might have been using the USB Device port. [Patch from Peer Georgi] VBUS detection is handled by a GPIO interrupt which only triggers on a change. Is is therefore necessary to read the current VBUS state explicitly at startup. [Patch from Peer Georgi] Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: at91 udc, support at91sam926x addressesAndrew Victor
This is an update to the AT91 USB Device (Gadget) driver. The base I/O address provided in the platform_device resources is now ioremap()'ed instead of using a statically mapped memory area. This helps portability to the newer AT91sam926x processors. The major change is that we now have to pass a 'struct at91_udc' parameter to at91_udp_read() and at91_udp_write(). Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: OHCI support for PNX8550Vitaly Wool
OHCI HCD (Host Controller Driver) for USB. Bus Glue for PNX8550. Signed-off-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: ohci handles hardware faults during root port resetsTakamasa Ohtake
I have found a problem where the root_port_reset() goes into an infinite loop and stalls the kernel. This happens when a hardware fault inside the machine occurs during a small timing window. In case of USB device connection, if a USB device responds to hcd_submit_urb(), and later the controller fails before root_port_reset(), root_port_reset() will loop infinitely because ohci_readl() will always return "-1". Such a failure can include ejecting a CardBus OHCI controller. The probability of this problem is low, but it will increase if PnP type usage is frequent. The attached patch can solve this problem and I believe that it is better to fix this problem. Signed-off-by: Takamasa Ohtake <ohtake-txa@necst.nec.co.jp> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: ohci at91 warning fixAndrew Victor
Remove a warning about an unused variable in the OHCI bus glue for at91. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: ohci whitespace/comment fixupsDavid Brownell
This is an OHCI cleanup patch ... it removes a lot of erroneous whitespace (space before tab, at end of line) as well as the obsolete inline changelog. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20USB: gadget driver unbind() is optional; section fixes; miscDavid Brownell
Allow gadget drivers to omit the unbind() method. When they're statically linked, that's an appropriate memory saving tweak. Similarly, provide consistent/simpler handling for a should-not-happen error case: removing a peripheral controller driver when a gadget driver is still loaded. Such code dates back to early versions of the first implementation of the gadget API, and has never been triggered. Includes relevant section annotation fixs for gmidi.c, file_storage.c, and serial.c; we don't yet have an "init or exit" annotation. Also some whitespace fixes in gmidi.c (space at EOL, before tabs, etc). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-20UHCI: module parameter to ignore overcurrent changesAlan Stern
Certain boards seem to like to issue false overcurrent notifications, for example on ports that don't have anything connected to them. This looks like a hardware error, at the level of noise to those ports' overcurrent input signals (or non-debounced VBUS comparators). This surfaces to users as truly massive amounts of syslog spam from khubd (which is appropriate for real hardware problems, except for the volume from multiple ports). Using this new "ignore_oc" flag helps such systems work more sanely, by preventing such indications from getting to khubd (and spamming syslog). The downside is of course that true overcurrent errors will be masked; they'll appear as spontaneous disconnects, without the diagnostics that will let users troubleshoot issues like short-circuited cables. In addition, controllers with no devices attached will be forced to poll for new devices rather than relying on interrupts, since each overcurrent event would generate a new interrupt. This patch (as826) is essentially a copy of David Brownell's ignore_oc patch for ehci-hcd, ported to uhci-hcd. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>