1. 22 12月, 2008 1 次提交
  2. 18 12月, 2008 1 次提交
  3. 01 12月, 2008 2 次提交
    • A
      USB: fsl_usb2_udc: Report disconnect before unbinding · 1f15a506
      Anton Vorontsov 提交于
      Gadgets disable endpoints in their disconnect callbacks, so
      we must call disconnect before unbinding.
      
      The patch fixes following badness:
      
      root@b1:~# insmod fsl_usb2_udc.ko
      Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007)
      root@b1:~# insmod g_ether.ko
      g_ether gadget: using random self ethernet address
      g_ether gadget: using random host ethernet address
      usb0: MAC 26:07:ba:c0:44:33
      usb0: HOST MAC 96:81:0c:05:4d:e3
      g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
      g_ether gadget: g_ether ready
      fsl-usb2-udc: bind to driver g_ether
      g_ether gadget: high speed config #1: CDC Ethernet (ECM)
      root@b1:~# rmmod g_ether.ko
      ------------[ cut here ]------------
      Badness at drivers/usb/gadget/composite.c:871
      [...]
      NIP [e10c3454] composite_unbind+0x24/0x15c [g_ether]
      LR [e10aa454] usb_gadget_unregister_driver+0x13c/0x164 [fsl_usb2_udc]
      Call Trace:
      [df145e80] [ffffff94] 0xffffff94 (unreliable)
      [df145eb0] [e10aa454] usb_gadget_unregister_driver+0x13c/0x164 [fsl_usb2_udc]
      [df145ed0] [e10c4c40] usb_composite_unregister+0x3c/0x4c [g_ether]
      [df145ee0] [c006bcc0] sys_delete_module+0x130/0x19c
      [df145f40] [c00142d8] ret_from_syscall+0x0/0x38
      [...]
      unregistered gadget driver 'g_ether'
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1f15a506
    • A
      USB: fsl_qe_udc: Report disconnect before unbinding · 9ac36da3
      Anton Vorontsov 提交于
      Gadgets disable endpoints in their disconnect callbacks, so
      we must call disconnect before unbinding. This also fixes
      muram memory leak, since we free muram in the qe_ep_disable().
      
      But mainly the patch fixes following badness:
      
      root@b1:~# insmod fsl_qe_udc.ko
      fsl_qe_udc: Freescale QE/CPM USB Device Controller driver, 1.0
      fsl_qe_udc e01006c0.usb: QE USB controller initialized as device
      root@b1:~# insmod g_ether.ko
      g_ether gadget: using random self ethernet address
      g_ether gadget: using random host ethernet address
      usb0: MAC be:2d:3c:fa:be:f0
      usb0: HOST MAC 62:b8:6a:df:38:66
      g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
      g_ether gadget: g_ether ready
      fsl_qe_udc e01006c0.usb: fsl_qe_udc bind to driver g_ether
      g_ether gadget: high speed config #1: CDC Ethernet (ECM)
      root@b1:~# rmmod g_ether.ko
      ------------[ cut here ]------------
      Badness at drivers/usb/gadget/composite.c:871
      [...]
      NIP [d10c1374] composite_unbind+0x24/0x15c [g_ether]
      LR [d10a82f4] usb_gadget_unregister_driver+0x128/0x168 [fsl_qe_udc]
      Call Trace:
      [cfb93e80] [cfb1f3a0] 0xcfb1f3a0 (unreliable)
      [cfb93eb0] [d10a82f4] usb_gadget_unregister_driver+0x128/0x168 [fsl_qe_udc]
      [cfb93ed0] [d10c2a3c] usb_composite_unregister+0x3c/0x4c [g_ether]
      [cfb93ee0] [c006bde0] sys_delete_module+0x130/0x19c
      [cfb93f40] [c00142d8] ret_from_syscall+0x0/0x38
      [...]
      fsl_qe_udc e01006c0.usb: unregistered gadget driver 'g_ether'
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9ac36da3
  4. 23 11月, 2008 1 次提交
  5. 20 11月, 2008 2 次提交
  6. 14 11月, 2008 1 次提交
    • D
      USB: gadget: cdc-acm deadlock fix · e50ae572
      David Brownell 提交于
      This fixes a deadlock appearing with some USB peripheral drivers
      when running CDC ACM gadget code.
      
      The newish (2.6.27) CDC ACM event notification mechanism sends
      messages (IN to the host) which are short enough to fit in most
      FIFOs.  That means that with some peripheral controller drivers
      (evidently not the ones used to verify the notification code!!)
      the completion callback can be issued before queue() returns.
      
      The deadlock would come because the completion callback and the
      event-issuing code shared a spinlock.  Fix is trivial:  drop
      that lock while queueing the message.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e50ae572
  7. 02 11月, 2008 1 次提交
    • A
      saner FASYNC handling on file close · 233e70f4
      Al Viro 提交于
      As it is, all instances of ->release() for files that have ->fasync()
      need to remember to evict file from fasync lists; forgetting that
      creates a hole and we actually have a bunch that *does* forget.
      
      So let's keep our lives simple - let __fput() check FASYNC in
      file->f_flags and call ->fasync() there if it's been set.  And lose that
      crap in ->release() instances - leaving it there is still valid, but we
      don't have to bother anymore.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      233e70f4
  8. 23 10月, 2008 3 次提交
  9. 18 10月, 2008 27 次提交
  10. 17 10月, 2008 1 次提交