aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * PCI: remove unneeded lock_kernel() in drivers/pci/syscall.c.Diego Woitasen2008-02-011-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | sys_pciconfig_{read,write}() are protected against PCI removal with the reference count in struct pci_dev. The concurrency of pci_user_{read,write}_config_* functions are already protected by pci_lock in drivers/pci/access.c. Signed-off-by: Diego Woitasen <diego@woitasen.com.ar> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: get rid of pci_dev::{vendor,device}_compatible fieldsLennert Buytenhek2008-02-011-5/+0
| | | | | | | | | | | | | | | | | | | | | | The vendor_compatible and device_compatible fields in struct pci_dev aren't used anywhere, and are somewhat pointless. Assuming that these are historical artifacts, remove them. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: Mem Policy: fix mempolicy usage in pci driverLee Schermerhorn2008-02-011-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In an attempt to ensure memory allocation from the local node, the pci driver temporarily replaces the current task's memory policy with the system default policy. Trying to be a good citizen, the driver then call's mpol_get() on the new policy. When it's finished probing, it undoes the '_get by calling mpol_free() [on the system default policy] and then restores the current task's saved mempolicy. A couple of issues here: 1) it's never necessary to set a task's mempolicy to the system default policy in order to get system default allocation behavior. Simply set the current task's mempolicy to NULL and allocations will fall back to system default policy. 2) we should never [need to] call mpol_free() on the system default policy. [I plan on trapping this with a VM_BUG_ON() in a subsequent patch.] This patch removes the calls to mpol_get() and mpol_free() and uses NULL for the temporary task mempolicy to effect default allocation behavior. Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com> Acked-by: Christoph Lameter <clameter@sgi.com> Acked-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: VIA CX700 quirk to disable PCI Bus ParkingTim Yamin2008-02-011-0/+28
| | | | | | | | | | | | | | | | | | | | | | PCI Bus Parking and PCI Master read caching on the VIA CX700 is buggy and can lead to problems such as USB2.0 packet loss if a VT6212L controller is on the PCI bus. It's disabled by default, but some BIOSes turn these features on and this patch reverts the configuration to the safe defaults. Signed-off-by: Tim Yamin <tim.yamin@zonbu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: quirk_vialatency: Omit reading pci revision IDAuke Kok2008-02-011-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | Don't read the revision ID unnecessary since the PCI subsystem fills this field in already. Updated to fix a thinko bug in a previously sent patch. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: hotplug: Link fakephp lastAlex Chiang2008-02-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | Currently, fakephp will claim all devices; we really only want it to claim those not in slots. Signed-off-by: Alex Chiang <achiang@hp.com> Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: hotplug: pci_hotplug_core whitespace fixAlex Chiang2008-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | Remove superfluous space. Signed-off-by: Alex Chiang <achiang@hp.com> Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: hotplug: acpiphp: Remove unused variable from acpiphpAlex Chiang2008-02-011-1/+0
| | | | | | | | | | | | | | | | | | | | Remove unused variable from acpiphp. Signed-off-by: Alex Chiang <achiang@hp.com> Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: hotplug: remove ExperimentalKristen Carlson Accardi2008-02-011-2/+2
| | | | | | | | | | | | | | | | Remove EXPERIMENTAL from PCI Hot Plug. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: hotplug: Switch to pci_get_bus_and_slotJoonwoo Park2008-02-011-4/+7
| | | | | | | | | | | | | | | | | | | | Thank you so much for your check & advise. This time, I've tried on ibmphp_core.c, is it OK? Signed-off-by: Joonwoo Park <joonwpark81@gmail.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * pcie: utilize pcie transaction pending bitShaohua Li2008-02-012-0/+23
| | | | | | | | | | | | | | | | | | PCIE has a mechanism to wait for Non-Posted request to complete. I think pci_disable_device is a good place to do this. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * pcie port driver: correctly detect native PME featureShaohua Li2008-02-011-3/+2
| | | | | | | | | | | | | | | | | | Native PME is capability of root port or root complex event collector. It's not determined by PCI PME capability. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: drivers/pci/: remove unused exportsAdrian Bunk2008-02-015-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the following unused exports: - remove the following unused EXPORT_SYMBOL's: - pci-acpi.c: pci_osc_support_set - proc.c: pci_proc_detach_bus - remove the following unused EXPORT_SYMBOL_GPL's: - bus.c: pci_walk_bus - probe.c: pci_create_bus - setup-res.c: pci_claim_resource Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: drivers/pci/rom.c: #if 0 two functionsAdrian Bunk2008-02-012-4/+4
| | | | | | | | | | | | | | | | | | | | This patch #if 0's the following unused global functions: - rom.c: pci_map_rom_copy() - rom.c: pci_remove_rom() Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * PCI: make pci_restore_bars() staticAdrian Bunk2008-02-012-3/+1
| | | | | | | | | | | | | | | | This patch makes the needlessly global pci_restore_bars() static. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds2008-02-02150-2684/+8200
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (128 commits) USB: fix codingstyle issues in drivers/usb/core/*.c USB: fix codingstyle issues in drivers/usb/core/message.c USB: fix codingstyle issues in drivers/usb/core/hcd-pci.c USB: fix codingstyle issues in drivers/usb/core/devio.c USB: fix codingstyle issues in drivers/usb/core/devices.c USB: fix codingstyle issues in drivers/usb/core/*.h USB: fix codingstyle issues in include/linux/usb/ USB: fix codingstyle issues in include/linux/usb.h USB: mark USB drivers as being GPL only USB: use a real vendor and product id for root hubs USB: mount options: fix usbfs USB: Fix usb_serial_driver structure for Kobil cardreader driver. usb: ehci should use u16 for isochronous intervals usb: ehci, remove false clear-reset path USB: Use menuconfig objects usb: ohci-sm501 driver usb: dma bounce buffer support USB: last abuses of intfdata in close for usb-serial drivers USB: kl5kusb105 don't flush to logically disconnected devices USB: oti6858: cleanup ...
| * | USB: fix codingstyle issues in drivers/usb/core/*.cGreg Kroah-Hartman2008-02-016-74/+74
| | | | | | | | | | | | | | | | | | | | | Fixes a number of coding style issues in the remaining .c files in drivers/usb/core/ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: fix codingstyle issues in drivers/usb/core/message.cGreg Kroah-Hartman2008-02-011-194/+204
| | | | | | | | | | | | | | | | | | Fixes a number of coding style issues in the message.c file. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: fix codingstyle issues in drivers/usb/core/hcd-pci.cGreg Kroah-Hartman2008-02-011-62/+67
| | | | | | | | | | | | | | | | | | Fixes a number of coding style issues in the hcd-pci.c file. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: fix codingstyle issues in drivers/usb/core/devio.cGreg Kroah-Hartman2008-02-011-145/+188
| | | | | | | | | | | | | | | | | | Fixes a number of coding style issues in the devio.c file. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: fix codingstyle issues in drivers/usb/core/devices.cGreg Kroah-Hartman2008-02-011-72/+82
| | | | | | | | | | | | | | | | | | Fixes a number of coding style issues in the devices.c file. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: fix codingstyle issues in drivers/usb/core/*.hGreg Kroah-Hartman2008-02-014-67/+68
| | | | | | | | | | | | | | | | | | Fixes a number of coding style issues in the USB internal header files. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: fix codingstyle issues in include/linux/usb/Greg Kroah-Hartman2008-02-0111-205/+220
| | | | | | | | | | | | | | | | | | Fixes a number of coding style issues in the USB public header files. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: fix codingstyle issues in include/linux/usb.hGreg Kroah-Hartman2008-02-011-91/+113
| | | | | | | | | | | | | | | | | | No logical code changes were made, but checkpatch.pl is much happier now. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: mark USB drivers as being GPL onlyGreg Kroah-Hartman2008-02-019-111/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Over two years ago, the Linux USB developers stated that they believed there was no way to create a USB kernel driver that was not under the GPL. This patch moves the USB apis to enforce that decision. There are no known closed source USB drivers in the wild, so this patch should cause no problems. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: use a real vendor and product id for root hubsGreg Kroah-Hartman2008-02-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out that a company is out there using the vendor id of 0x0000 in the wild, so use a real vendor/product id for the root hubs. Now that the Linux Foundation has a real vendor id, we use that, and the first product id: 0x1d6b is the vendor id of the Linux Foundation 0x0001 is the product id for Linux 1.1 root hubs 0x0002 is the product id for Linux 2.0 root hubs The usb.ids file has already been updated with these values. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: mount options: fix usbfsMiklos Szeredi2008-02-011-6/+36
| | | | | | | | | | | | | | | | | | | | | | | | Add a .show_options super operation to usbfs. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: Fix usb_serial_driver structure for Kobil cardreader driver.Stefan Bader2008-02-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The device setup did miss to initialize the num_interrupt_out field, thus failing to successfully complete the probe function. Signed-off-by: Stefan Bader <stefan.bader@canonical.com> Cc: stable <stable@kernel.org> Cc: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | usb: ehci should use u16 for isochronous intervalsDavid Brownell2008-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While most isochronous endpoints have short polling intervals, the EHCI driver won't necessarily handle larger ones correctly. This patch switches to use a "u16" to represent those periods, not a u8, since it can always work: the largest expressible period is 2^15 units ... not the previous too-short limit of 128 frames (full or low speeds) or microframes (high speed, 32 frames). This bug is essentially theoretical, since the few ISO endpoints I've seen which don't use one transfer per frame are high speed ones using more than that (including high bandwidth, 24 KB/msec). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | usb: ehci, remove false clear-reset pathDavid Brownell2008-02-011-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the "EHCI ports reset forever" problems may be explained by code paths which wrongly flagged resets as complete. This removes two such paths; the ehci_hub_status_data() path should be the only one to have an effect, since it was already properly flagged on the other path. (Issue noted by Minhyoung Kim <a9a9@lge.com>.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: Use menuconfig objectsDenis Cheng2008-02-013-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 04d06ad0f1fdb499af84ae3d7969e2136a462f38 have added menuconfig support for the whole USB Kconfig, but there are still menuconfig need for usb/serial, usb/atm, and usb/gadget, so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Denis Cheng <crquan@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | usb: ohci-sm501 driverMagnus Damm2008-02-012-0/+269
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usb: ohci-sm501 driver V2 This patch adds sm501 ohci support. It's all very straightforward with the exception of dma_declare_coherent_memory() and HCD_LOCAL_MEM. Together they are used to ensure that usb data is allocated using dma_alloc_coherent(), and that only valid dma memory is used to allocate from. This driver is a platform device, and the mfd driver sm501.c is already creating one usb host controller instance per sm501. Signed-off-by: Magnus Damm <damm@igel.co.jp> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | usb: dma bounce buffer supportMagnus Damm2008-02-013-23/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usb: dma bounce buffer support V4 This patch adds dma bounce buffer support to the usb core. These buffers can be enabled with the HCD_LOCAL_MEM flag, and they make sure that all data passed to the host controller is allocated using dma_alloc_coherent(). Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: last abuses of intfdata in close for usb-serial driversOliver Neukum2008-02-014-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | these drivers abused intfdata in close() as flags for binding. That races with reprobing of those devices. This patch fixes that by using the flag and the locks introduced with the patch against mos7720. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: kl5kusb105 don't flush to logically disconnected devicesOliver Neukum2008-02-011-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If disconnect() is called for a logical disconnect, no more IO must be done after disconnect() returns, or the old and new drivers may conflict. This patch avoids this by using the flag and lock introduced by the earlier patch for the mos7720 driver. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: oti6858: cleanupAlan Cox2008-02-011-83/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rename the copied buffer functions from pl2303 to oti6858 to avodi confusion - Initialise speeds properly - Use modern baud rate handling - Remove GSERIAL/SSERIAL ioctl hacks that reference termios unlocked Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: more serial drivers writing after disconnectOliver Neukum2008-02-015-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this covers the rest of the obvious cases by using the flags and locks to guard against disconnect which were introduced in the earlier patch against mos7720. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: make sure usb serial drivers don't flush to logically disconnected devicesOliver Neukum2008-02-015-21/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If disconnect() is called for a logical disconnect, no more IO must be done after disconnect() returns, or the old and new drivers may conflict. This patch avoids this by using the flag and lock introduced by the earlier patch for the mos7720 driver. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: fix memleak in ark3116 serial driverOliver Neukum2008-02-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | in an error case memory already allocated must be freed again. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: stop abuse of intfdata in cypress_m8Oliver Neukum2008-02-011-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this driver uses usb_get_intfdata() == NULL as a test for disconnect(). You must not do that as this races with probe(). By the time you test your erstwhile interface may already be somebody else's interface. This fixes the close() method of cypress_m8 to use the recently introduced flag and use locking against disconnect() where required in close(). Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: constify function pointer tablesJan Engelhardt2008-02-012-2/+2
| | | | | | | | | | | | | | | | | | Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: stop io performed by mos7720 upon close()Oliver Neukum2008-02-013-29/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a problem where the mos7720 driver will make io to a device from which it has been logically disconnected. It does so by introducing a flag by which the generic usb serial code can signal the subdrivers their disconnection and appropriate locking. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: add support for SuperH OHCIYoshihiro Shimoda2008-02-013-0/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add support for SuperH OHCI. supported CPU are: - SH7720 - SH7721 - SH7763 Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Acked-by: David Brownell <david-b@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: ftdi_sio: remove very old changelog entries from the file.Greg Kroah-Hartman2008-02-011-220/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | People keep trying to add entries to this section of the driver for things. That's what the Changelog is supposed to be for, not the .c file. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: usbserial: provide ezusb functions for an external module.Paul Chavent2008-02-012-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building an external module, the ezusb_* functions are not defined if we haven't loaded any built'in module that use them (whiteheat, keyspan, ...). This patch allow to build those functions even if we only have selected the usbserial generic driver. Signed-off-by: Paul Chavent <paul.chavent@fnac.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: EHCI: add a short delay to the bus_suspend routineAlan Stern2008-02-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch (as1031) adds a short delay to the bus-suspend routine in ehci-hcd. Without it some devices disconnect when they should suspend. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: David Brownell <david-b@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: EHCI: move del_timer_sync calls outside spinlocked regionAlan Stern2008-02-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch (as1030b) moves a del_timer_sync() call outside the scope of a spinlock, where it could cause a deadlock, and adds a new del_timer_sync() call for the new IAA watchdog timer (it was omitted by mistake). Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: usbfs: struct async is a fixed size structurePete Zaitcev2008-02-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The ISO descriptors are allocated separately in proc_submiturb for a fetch from user mode, then tucked at the end of URB. This seems like a dead code. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: ehci completes high speed ISO URBs soonerDavid Brownell2008-02-011-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has some bugfixes for the EHCI driver's ISO transfer scanning logic. It was leaving ITDs and SITDs on the schedule too long, for a few different reasons, which caused trouble. (a) Look at all microframes for high speed transfers, not just the ones we expect to have finished. This way transfers ending mid-frame will complete without needing another IRQ. This also minimizes bogus scheduling underruns (e.g. EL2NSYNC). (b) When we encounter an ISO transfer (either speed, but this hits mostly at full speed) that's not yet been completed, immediately stop scanning; we've caught up to the hardware, no matter what other indications might say. (c) Always clean up ITDs (for high speed transfers) when the HC is no longer running. I'm not sure whether the last one has been observed before, but both the others have been reported with "real world" audio and video code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: ehci: minor ISO updates, always support split ISODavid Brownell2008-02-012-44/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Small updates to the EHCI driver's ISO support: - Get rid of the Kconfig option for full speed ISO. It may not be perfect yet, but it hasn't appeared to be dangerous and pretty much every configuration wants it. - Instead of two places to disable an empty periodic schedule after an ISO transfer completes, just have one. - After the periodic schedule is disabled, we can short-circuit the schedule scan ... it can't possibly have more work to do. Assuming a typical config with split iso enabled, the only change in behavior should be almost unobservable: quicker termination of periodic scans when the schedule gets emptied. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>