An error occurred fetching the project authors.
- 04 Apr, 2003 1 commit
-
-
Greg Kroah-Hartman authored
-
- 28 Mar, 2003 1 commit
-
-
Oliver Neukum authored
driver core protects us with semaphores during probe/disconnect. We can stop messing with the module usage counts.
-
- 21 Mar, 2003 1 commit
-
-
David Brownell authored
previous text was wrong/confusing, all it does is pick a number. this routine should be merged with usb_new_device() someday, but doing that would mean changing the hcds (as well as hub.c) so it's not worth it yet.
-
- 06 Mar, 2003 1 commit
-
-
David Brownell authored
This patch merges the USB state definitions from the ARM Linux code (inside the sa1100 driver) and uses them to track what can be done with the device. That replaces the recently added "udev->present" flag with a more complete/standard state model. There are a few changes that might affect behavior if things start to go really haywire: - usb_set_address() and usb_set_configuration(), used while enumerating, handle some unlikely cases more correctly: don't allow setting address to zero (undefined behavior), and do allow un-configuring (config 0). (Adds a FIXME for an existing set-configuration bug too.) - usb_disconnect() flags the state change earlier (as soon as it's known). - usb_submit_urb() works in the states where messaging is allowed, and also enforces the "unless configured, only control traffic is legal" rule. - usb_unlink_urb() doesn't care any more about that state. (There seemed to be agreement that it must not matter.) This will help with some further cleanups in the complex of issues relating to driver removal, device removal, config changing (with driver unbind and rebind), reset, and so on.
-
- 18 Feb, 2003 1 commit
-
-
Greg Kroah-Hartman authored
This solves lots of races when drivers hold a reference to the usb_device after the device is physically removed from the system (like when a user has a open handle.) This now prevents any new urbs being submitted or canceled for the device.
-
- 28 Jan, 2003 1 commit
-
-
David Brownell authored
The support for non-dma HCDs is likely the most interesting bit here. - makes dma calls behave sensibly when used with host controllers that don't use dma (including sl811). usb_buffer_map() is a nop while scatterlist dma mappings fail (as they must). - make usb_sg_init() behave sensibly when used with non-dma hcs. the urbs are initted with transfer_buffer, not transfer_dma. this is the higher level analogue to usb_buffer_map(), so it needs to succeed unless there's a Real Error (tm). - moves two compatibility inlines from ehci.h into hcd.h so it'll be more practical to have the other hcds work in other environments (notably lk 2.4) too - remove URB_TIMEOUT_KILLED flag ... no device driver tests it; hcds don't really (uhci sets it, never reads it; sl811 doesn't enable the path that might set it), and it's not well defined. if any hcd needs such state, keep it in hc-private storage. - in usb_sg_wait(), use yield() instead of schedule() to let other activities free resources needed to continue. (This was noted recently by Oliver.)
-
- 13 Jan, 2003 1 commit
-
-
Greg Kroah-Hartman authored
Also makes usb_ifnum_to_if() a public function
-
- 07 Jan, 2003 1 commit
-
-
Greg Kroah-Hartman authored
-
- 30 Dec, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 27 Dec, 2002 5 commits
-
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
This was done to make the next reference count patch easier, and because almost everyone was already calling usb_put_dev() anyway...
-
Greg Kroah-Hartman authored
Also added usb_get_intfdata() and usb_set_intfdata() functions to set the struct usb_interface private pointer easier.
-
David Brownell authored
Attached is a patch leveraging some of the new generic dma stuff: - Replaces dma mapping calls in usbcore with generic equivalents. This is a minor code shrink (which we'd hoped could happen). - Pass dma mask along, so net drivers can notice it'd be good to set NETIF_F_HIGHDMA; or scsi ones can set highmem_io. (Some Intel EHCI setups are able to support this kind of DMA.) - Updates one net driver (usbnet) to set NETIF_F_HIGHDMA when appropriate, mostly as an example (since I can't test this). - Provides Documentation/usb/dma.txt, describing current APIs. (Unchanged by this patch, except dma mask visibility.) - Converted another info() to dev_info(), and likewise a couple dbg() to dev_dbg() conversions in the modified routine. The number of FIXMEs was conserved: the generic API doesn't yet fix the error reporting bugs in the PCI-specific mapping API.
-
- 12 Dec, 2002 1 commit
-
-
Ari Juhani Hämeenaho authored
Here are minimal usb_find_interface() patches for the core, usblp and scanner. Basic design is: - device major (USB_MAJOR for now) and minor are stored in probe() function to struct usb_interface as kdev_t - open() can use new core function usb_find_interface() to find matching device in drivers device list - disconnect() will set kdev_t struct usb_interface to NODEV, so open wont open it anymore without new probe() I tested these patches and they work for me. I will work on small patches of other work in these drivers (like removal of lock_kernel/unlock_kernel in usblp, fixing the disconnect problems in both drivers etc.). Those patches would be very small too, but there will be quite many.
-
- 30 Nov, 2002 2 commits
-
-
Greg Kroah-Hartman authored
-
Oliver Neukum authored
-
- 20 Nov, 2002 1 commit
-
-
Patrick Mochel authored
- don't define and use a release callback for the generic driver. - Call bus_unregister() in usb_exit() to remove the usb driver, instead of put_bus().
-
- 14 Nov, 2002 1 commit
-
-
David Brownell authored
This mostly moves the initialization of some sysfs-related fields earlier, so HCD code can access them during those (initial error prone) parts of enumeration without oopsing. The particular access I wanted was using <linux/driver.h> debug utilities like dev_dbg(), dev_warn() and so on ... so I also changed the name the "generic" driver gives itself to be "usb" so those messages make more sense. Also added comments about how usb_new_device() moves the device through the other chapter 9 usb device states.
-
- 11 Nov, 2002 1 commit
-
-
David Brownell authored
-
- 29 Oct, 2002 1 commit
-
-
David Brownell authored
This patch splits up the usb structures to have two structs, "usb_XXX_descriptor" with just the descriptor, and "usb_host_XXX" (or something similar) to wrap it and add the "extra" pointers plus the array of related descriptors that the host parsed during enumeration. (2 or 3 words extra in each"usb_host_XXX".) This further matches the "on the wire" data and enables the gadget drivers to share the same header file. Covers all the linux/drivers/usb/* and linux/sound/usb/* stuff, but not a handful of other drivers (bluetooth, iforce, hisax, irda) that are out of the usb tree and will likely be affected.
-
- 23 Oct, 2002 1 commit
-
-
David Brownell authored
The EHCI driver was never adjusting the full speed maximum packet size up (when enumerating through a transaction translating hub). This broke the enumeration of some devices (maxpacket != 8) pretty early. This patch updates EHCI to fix the bug, and does minor cleanup to usbcore logic that figures out ep0 maxpacket. I left the partial read in for all speeds, even though only full speed needs it.
-
- 18 Oct, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 17 Oct, 2002 1 commit
-
-
Patrick Mochel authored
-
- 11 Oct, 2002 1 commit
-
-
Randy Dunlap authored
Here's the updated "nousb" patch for vanilla 2.5.41. It applies with 2 small offsets to 2.5.41-bk3.
-
- 08 Oct, 2002 2 commits
-
-
Patrick Mochel authored
-
Greg Kroah-Hartman authored
-
- 02 Oct, 2002 1 commit
-
-
Luc Van Oostenryck authored
usb_hotplug()' prototype doesn't match when CONFIG_HOTPLUG is not defined.
-
- 30 Sep, 2002 3 commits
-
-
David Brownell authored
This has minor usbcore cleanups: DOC: - the changes passing a usb_interface to driver probe() and disconnect() weren't reflected in their adjacent docs. likewise they still said it was possible to get a null usb_device_id (no more). - the (root) hub API restrictions from rmk's ARM patch weren't flagged - mention the non-dma-coherent cache issue for usb_buffer_alloc() - mention disconnect() cleanup issue with usb_{control,bulk}_msg() [ you can't cancel those urbs from disconnect() ] CODE - make driver ioctl() use 'usb_interface' too ... this update also resolves an old 'one instance per device' bad assumption - module locking on driver->ioctl() was goofy, kept BKL way too long and didn't try_inc_mod_count() like the rest of usbcore - hcd unlink code treated iso inappropriately like interrupt; only interrupt still wants that automagic mode - move iso init out of ohci into shared submit_urb logic - remove interrupt transfer length restriction; hcds that don't handle packetization (just like bulk :) should be updated, but device drivers won't care for now.
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
- 27 Sep, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 23 Sep, 2002 2 commits
-
-
Patrick Mochel authored
The generic driver is used by the virtual USB bridge device. This makes sure that the driver is registered before we try to use it (and it gets the bus type right). We also check for equality when matching devices to drivers, because we don't want to match any device to it.
-
David Brownell authored
is it guarenteed that callers have zero'd out the device before this is invoked? Else the following is necessary to prevent potential OOPS's derefencing interface->dev.driver in the generic device layer.
-
- 16 Sep, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 28 Aug, 2002 1 commit
-
-
David Brownell authored
This patch (almost all from DaveM) wraps up the DMA API work by adding the scatterlist map/sync/unmap support. And removes the corresponding FIXME.
-
- 18 Aug, 2002 1 commit
-
-
David Brownell authored
Another cleanup patch: - removes more usbcore-internal symbols from sight of device drivers * some are only for the uhci driver * most are shared just a bit more widely - DEVNUM_ROUND_ROBIN is no longer an internal option - usb_root_hub_string() gone, per the FIXME - various kerneldoc fixes and updates - uses legal value (en-us) for root hub strings - hub driver only shows port fixed/removable for compound devices
-
- 14 Aug, 2002 2 commits
-
-
Greg Kroah-Hartman authored
-
David Brownell authored
Moves some functions that are only used by usbfs to be private, and documents some of the interface issues that need to be cleaned up.
-
- 13 Aug, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-