1. 07 6月, 2011 1 次提交
  2. 08 3月, 2011 1 次提交
  3. 18 2月, 2011 1 次提交
    • F
      USB: s3c2410_udc: Add handling for S3C244X dual-packet mode · 16f08a08
      Fabian Godehardt 提交于
      This is a patch that seems to make the USB hangs on the S3C244X go away.
      At least a good amount of ping torture didn't make them come back so far.
      
      The issue is that, if there are several back-to-back packets, sometimes no
      interrupt is generated for one of them. This seems to be caused by the
      mysterious dual packet mode, which the USB hardware enters automatically
      if the endpoint size is half that of the FIFO. (On the 244X, this is the
      normal situation for bulk data endpoints.)
      
      There is also a timing factor in this. It seems that what happens is that
      the USB hardware automatically sends an acknowledgement if there is only one
      packet in the FIFO (the FIFO has space for two). If another packet arrives
      before the host has retrieved and acknowledged the previous one, no interrupt
      is generated for that second one.
      
      However, there may be an indication. There is one undocumented bit (none
      of the 244x manuals document it), OUT_CRS1_REG[1], that seems to be set
      suspiciously often when this condition occurs. There is also
      CLR_DATA_TOGGLE, OUT_CRS1_REG[7], which may have a function related to
      this. (The Samsung manual is rather terse on that, as usual.)
      
      This needs to be examined further. For now, the patch seems to do the
      trick.
      Signed-off-by: NVasily Khoruzhick <anarsoul@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      16f08a08
  4. 23 10月, 2010 1 次提交
  5. 27 7月, 2010 1 次提交
    • V
      USB: s3c2410_udc: be aware of connected gadget driver · 00c05aab
      Vladimir Zapolskiy 提交于
      To escape from data abort in interrupt handler, it is required to
      check for a connected gadget before delivering control requests.
      
      The change fixes the following panic, which occurs with no loaded
      gadget driver and input USB_REQ_GET_DESCRIPTOR request:
      
      Kernel panic - not syncing: Fatal exception in interrupt
      [<c0025874>] (unwind_backtrace+0x0/0xd8) from [<c0253f14>] (panic+0x40/0x110)
      [<c0253f14>] (panic+0x40/0x110) from [<c002470c>] (die+0x154/0x180)
      [<c002470c>] (die+0x154/0x180) from [<c0026448>] (__do_kernel_fault+0x64/0x74)
      [<c0026448>] (__do_kernel_fault+0x64/0x74) from [<c0026610>] (do_page_fault+0x1b8/0x1cc)
      [<c0026610>] (do_page_fault+0x1b8/0x1cc) from [<c00202d4>] (do_DataAbort+0x34/0x94)
      [<c00202d4>] (do_DataAbort+0x34/0x94) from [<c0020a60>] (__dabt_svc+0x40/0x60)
      Exception stack(0xc0327ea8 to 0xc0327ef0)
      7ea0:                   bf0026b0 c0327ef0 c0327ee4 00000000 bf002590 00000093
      7ec0: 00000001 bf0026b0 bf002990 00000000 00000008 0000143d 00003f00 c0327ef0
      7ee0: bf001364 bf001360 20000093 ffffffff
      [<c0020a60>] (__dabt_svc+0x40/0x60) from [<bf001360>] (s3c2410_udc_irq+0x5b8/0x778 [s3c2410_udc])
      [<bf001360>] (s3c2410_udc_irq+0x5b8/0x778 [s3c2410_udc]) from [<c0058aa0>] (handle_IRQ_event+0x3c/0x104)
      [<c0058aa0>] (handle_IRQ_event+0x3c/0x104) from [<c005a428>] (handle_edge_irq+0x12c/0x164)
      [<c005a428>] (handle_edge_irq+0x12c/0x164) from [<c0020068>] (asm_do_IRQ+0x68/0x88)
      [<c0020068>] (asm_do_IRQ+0x68/0x88) from [<c0020aa4>] (__irq_svc+0x24/0xa0)
      Signed-off-by: NVladimir Zapolskiy <vzapolskiy@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      00c05aab
  6. 30 6月, 2010 1 次提交
  7. 23 9月, 2009 1 次提交
  8. 13 7月, 2009 1 次提交
  9. 08 1月, 2009 1 次提交
  10. 07 1月, 2009 1 次提交
  11. 30 10月, 2008 1 次提交
  12. 23 10月, 2008 1 次提交
  13. 18 10月, 2008 1 次提交
  14. 24 8月, 2008 1 次提交
  15. 07 8月, 2008 2 次提交
  16. 11 4月, 2008 1 次提交
  17. 02 2月, 2008 1 次提交
  18. 29 11月, 2007 3 次提交
  19. 13 10月, 2007 1 次提交
  20. 13 7月, 2007 2 次提交