1. 11 7月, 2008 1 次提交
  2. 10 7月, 2008 2 次提交
  3. 03 7月, 2008 2 次提交
  4. 16 6月, 2008 1 次提交
  5. 02 6月, 2008 1 次提交
  6. 30 5月, 2008 1 次提交
    • L
      USB: fsl_usb2_udc: fix recursive lock · 185e3dea
      Li Yang 提交于
      UDC needs to release lock before calling out to gadget driver, since
      it may need to reenter.  The change fixes kernel BUG observed on rt
      kernel.
      
      > kernel BUG at kernel/rtmutex.c:683!
      > stopped custom tracer.
      > Oops: Exception in kernel mode, sig: 5 [#1]
      > PREEMPT MPC834x ITX
      > NIP: c021629c LR: c0216270 CTR: 00000000
      > REGS: df761d70 TRAP: 0700   Not tainted  (2.6.23.9-rt13)
      > MSR: 00021032 <ME,IR,DR>  CR: 28000022  XER: 00000000
      > TASK = df632080[241] 'IRQ-38' THREAD: df760000
      > GPR00: 00000001 df761e20 df632080 00000000 11111111 00000000 df761e6c
      > 00000000
      > GPR08: df761e48 00000000 df761e50 00000000 80000000 ede5cdde 1fffd000
      > 00800000
      > GPR16: ffffffff 00000000 007fff00 00000040 00000000 007ffeb0 00000000
      > 1fff8b08
      > GPR24: 00000000 00000026 00000000 df79a320 c026b2e8 c02240bc 00009032
      > df79a320
      > NIP [c021629c] rt_spin_lock_slowlock+0x9c/0x200
      > LR [c0216270] rt_spin_lock_slowlock+0x70/0x200
      > Call Trace:
      > [df761e20] [c0216270] rt_spin_lock_slowlock+0x70/0x200 (unreliable)
      > [df761e90] [c0182828] fsl_ep_disable+0xcc/0x154
      > [df761eb0] [c0184d30] eth_reset_config+0x88/0x1d0
      > [df761ed0] [c0184ec0] eth_disconnect+0x48/0x64
      > [df761ef0] [c01831a4] reset_queues+0x60/0x78
      > [df761f00] [c0183b74] fsl_udc_irq+0x9b8/0xa58
      > [df761f50] [c003ef30] handle_IRQ_event+0x64/0x100
      > [df761f80] [c003f758] thread_simple_irq+0x6c/0xc8
      > [df761fa0] [c003f888] do_irqd+0xd4/0x2e4
      > [df761fd0] [c0032284] kthread+0x50/0x8c
      > [df761ff0] [c000f9b4] kernel_thread+0x44/0x60
      Signed-off-by: NLi Yang <leoli@freescale.com>
      Cc: Eugene T. Bordenkircher <Eugene_Bordenkircher@selinc.com>
      Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      185e3dea
  7. 21 5月, 2008 1 次提交
  8. 19 5月, 2008 1 次提交
    • R
      [ARM] pxa: separate PXA25x and PXA27x UDC register definitions · 284d115e
      Russell King 提交于
      The PXA25x and PXA27x USB device controller register definitions are
      different.  Currently, they live side by side in pxa-regs.h, but only
      one set is available depending on the setting of PXA25x or PXA27x.
      
      This means that if we build to support both PXA25x and PXA27x, the
      PXA27x definitions are unavailable, even to PXA27x specific code.
      
      Remove these definitions from pxa-regs.h, and place them in separate
      files.  Include these files where appropriate.
      
      Note: according to the dependencies in drivers/usb/gadget/Kconfig,
      we do not support the UDC on PXA27x nor PXA3xx CPUs, so remove the
      platform devices from pxa27x.c and pxa3xx.c.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      284d115e
  9. 15 5月, 2008 7 次提交
    • D
      USB: atmel_usba_udc fixes, mostly disconnect() · 40517707
      David Brownell 提交于
      Various fixes to Atmel's high speed UDC driver.
      
        * Issue some missing disconnect() calls.  Currently they are only made
          when VBUS power goes away (on boards where the driver can sense such
          changes), but that's not enough for gadget drivers to clean out all
          the state that's needed.  Missing calls were:
      
            - After USB reset, before starting enumeration.
            - When unregistering a gadget driver, before unbind().
      
        * Don't assume gadget drivers provide disconnect callbacks; make sure
          to not call through a null pointer!
      
        * When the driver doesn't provide an unbind() callback, refuse to
          unregister it.
      
      Also remove two bogus "error" messages:
      
        * Related to mis-handling of disconnect() ... don't emit error messages
          for disconnect() handlers that disable endpoints.  All of them should
          be doing that; the problem is (unfixed) oddness in atmel_usba_udc.
      
        * Don't emit a diagnostic for a curious and transient nonfatal error
          that shows up sometimes with EP0.
      
      Those messages spammed syslog, for no good reason.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Acked-by: NHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      40517707
    • R
      USB: pxa27x_udc: minor fixes · 5a59bc54
      Robert Jarzmik 提交于
      Minor fixes to pxa27x udc driver :
       - don't clobber driver model bus_id field
       - wrong endianess fix (no functional change; cpu is little-endian)
       - double udc disable fix
       - resume/suspend fix (OTG hold bit)
       - make driver pxa27x dependant (check cpu at runtime)
      Signed-off-by: NRobert Jarzmik <rjarzmik@free.fr>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5a59bc54
    • D
      USB: serial gadget: descriptor cleanup · b9370332
      David Brownell 提交于
      Bugfix some serial gadget descriptors:
      
       - Stop mangling the low bits (controller type ID) of bcdDevice;
         just use the high bits for a driver revision code.
      
       - Serial numbers that aren't specific to individual devices
         are useless; stop reporting "0" for this.
      
       - Since it's not part of a CDC-conformant function, the "bulk only"
         configuration shouldn't be using "CDC Data" as its interface class.
         Switch over to using CLASS_VENDOR_SPEC (different value, 0xff).
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Al Borchers <alborchers@steinerpoint.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b9370332
    • D
      USB: serial gadget: simplify endpoint handling · 734d37c6
      David Brownell 提交于
      Switch serial gadget away from a *very* old idiom:  just remember
      the endpoints we'll be using, instead of looking them up by name
      each time.  This is a net code and data (globals) shrink.
      
      Also fix a small memory leak in the rmmod path, by working the
      same as the disconnect code.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Al Borchers <alborchers@steinerpoint.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      734d37c6
    • D
      USB: serial gadget: remove needless data structure · 2c2d28a0
      David Brownell 提交于
      This removes a needless data structure from the serial gadget code;
      it's a small code shrink, and a larger data shrink.
      
      Since "struct usb_request" already has a "struct list_head" reserved
      for use by gadget drivers, the serial gadget code doesn't need to
      allocate wrapper structs to hold that list ... it can (and should!)
      just use the list_head provided for that exact use.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Al Borchers <alborchers@steinerpoint.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2c2d28a0
    • D
      USB: serial gadget: cleanup/reorg · 9079e91b
      David Brownell 提交于
      Some cleanup/reorg of g_serial ... simplifying it, and disentangling
      its structure so morphing it into a "function" driver (combinable with
      other interfaces) should be less painful.
      
       - Remove most forward declarations
           * put tty and gadget driver structs after their contents
           * snug module init/exit decls next to their functions
           * reordered some functions
      
       - Other cleanup:
           * convert a funky macro to an inline function
           * snug up module params next to their declarations
           * add missing driver.owner
           * add separator lines between major driver sections
      
       - Add comments re potential parameter/#define changes:
           * only supports one port (shrank GS_NUM_PORTS)
           * changing from 9600-8-N-1 affects multiple sites
      
       - Remove net2280-specific optimization ... it was being done
         way too late, can be done by net2280 module options, and in
         any case doesn't matter at any sane serial data rates.
      
      There are no behavioral changes, but the macro thing saves I-space.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Al Borchers <alborchers@steinerpoint.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      9079e91b
    • H
      usb: fix integer as NULL pointer warnings found by sparse · af3d305c
      Harvey Harrison 提交于
      drivers/usb/host/ohci-sm501.c:93:24: warning: Using plain integer as NULL pointer
      drivers/usb/gadget/amd5536udc.c:3254:9: warning: Using plain integer as NULL pointer
      drivers/usb/gadget/amd5536udc.c:3267:9: warning: Using plain integer as NULL pointer
      drivers/usb/gadget/amd5536udc.c:3277:9: warning: Using plain integer as NULL pointer
      drivers/usb/gadget/amd5536udc.c:3285:9: warning: Using plain integer as NULL pointer
      drivers/usb/gadget/amd5536udc.c:3293:9: warning: Using plain integer as NULL pointer
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      af3d305c
  10. 03 5月, 2008 5 次提交
  11. 30 4月, 2008 1 次提交
  12. 29 4月, 2008 3 次提交
  13. 25 4月, 2008 12 次提交
  14. 11 4月, 2008 1 次提交
  15. 07 4月, 2008 1 次提交