1. 13 10月, 2007 1 次提交
    • A
      USB: make HCDs responsible for managing endpoint queues · e9df41c5
      Alan Stern 提交于
      This patch (as954) implements a suggestion of David Brownell's.  Now
      the host controller drivers are responsible for linking and unlinking
      URBs to/from their endpoint queues.  This eliminates the possiblity of
      strange situations where usbcore thinks an URB is linked but the HCD
      thinks it isn't.  It also means HCDs no longer have to check for URBs
      being dequeued before they were fully enqueued.
      
      In addition to the core changes, this requires changing every host
      controller driver and the root-hub URB handler.  For the most part the
      required changes are fairly small; drivers have to call
      usb_hcd_link_urb_to_ep() in their urb_enqueue method,
      usb_hcd_check_unlink_urb() in their urb_dequeue method, and
      usb_hcd_unlink_urb_from_ep() before giving URBs back.  A few HCDs make
      matters more complicated by the way they split up the flow of control.
      
      In addition some method interfaces get changed.  The endpoint argument
      for urb_enqueue is now redundant so it is removed.  The unlink status
      is required by usb_hcd_check_unlink_urb(), so it has been added to
      urb_dequeue.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: David Brownell <david-b@pacbell.net>
      CC: Olav Kongas <ok@artecdesign.ee>
      CC: Tony Olech <tony.olech@elandigitalsystems.com>
      CC: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e9df41c5
  2. 23 8月, 2007 1 次提交
    • P
      usb: r8a66597-hcd: fix up error path. · 71ee9a6c
      Paul Mundt 提交于
      Currently when registration fails we're left with a stray reference to
      release_mem_region(), this leads to the following case:
      
          r8a66597_hcd r8a66597_hcd: irq 13, io base 0x18040000
          drivers/usb/host/r8a66597-hcd.c: register access fail.
          r8a66597_hcd r8a66597_hcd: startup error -6
          r8a66597_hcd r8a66597_hcd: USB bus 1 deregistered
          drivers/usb/host/r8a66597-hcd.c: Failed to add hcd
          Trying to free nonexistent resource <0000000018040000-0000000018040000>
      
      This fixes it up.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      71ee9a6c
  3. 20 7月, 2007 1 次提交
  4. 13 7月, 2007 2 次提交
    • Y
      USB: r8a66597-hcd: fix NULL access · f6ace2c9
      Yoshihiro Shimoda 提交于
      This patch fixes the problem that accesses NULL pointer
      when disconnected a cable while play music with usb-speaker.
      Signed-off-by: NYoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      f6ace2c9
    • Y
      USB: r8a66597-hcd: host controller driver for R8A66597 · 5d304358
      Yoshihiro Shimoda 提交于
      I would like to submit Renesas R8A66597 USB HCD driver.
      
      R8A66597 is Renesas USB 2.0 host and peripheral combined
      controller device originally designed for embedded products.
      As a limitation of this device, it does not support externel
      hub more than 2 tier, and cannot communicate with a USB
      device more than 10. Then this device is not compatible with
      EHCI and/or OHCI, I wrote driver support patch based on
      sl811 code.
      
      This driver has the following unique specifications:
      - Implement transfer timeout to share one pipe with plural endpoint.
      - Detach detection of a USB device connected to externel hub.
      
      The driver has been tested external hub, usb-hdd, usb-cdrom,
      usb-speaker, mice, keyboard, and usbtest driver.
      
      Signed-off-by : Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5d304358