1. 18 6月, 2014 1 次提交
  2. 28 5月, 2014 2 次提交
    • H
      usb: usbtest: add pattern check on pipe in phase of unlink read · a7683eb3
      Huang Rui 提交于
      TEST 11 unlinks the URB read request for N times. When host and gadget
      both initialize pattern 1 (mod 63) data series to do IN transfer, the
      host side function should check the data buffer if it is as mod 63
      series, because the data packet which host receivced will follow
      pattern 1. So this patch adds this checking action.
      Signed-off-by: NHuang Rui <ray.huang@amd.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a7683eb3
    • H
      usb: usbtest: fix unlink write error with pattern 1 · e4d58f5d
      Huang Rui 提交于
      TEST 12 and TEST 24 unlinks the URB write request for N times. When
      host and gadget both initialize pattern 1 (mod 63) data series to
      transfer, the gadget side will complain the wrong data which is not
      expected.  Because in host side, usbtest doesn't fill the data buffer
      as mod 63 and this patch fixed it.
      
      [20285.488974] dwc3 dwc3.0.auto: ep1out-bulk: Transfer Not Ready
      [20285.489181] dwc3 dwc3.0.auto: ep1out-bulk: reason Transfer Not Active
      [20285.489423] dwc3 dwc3.0.auto: ep1out-bulk: req ffff8800aa6cb480 dma aeb50800 length 512 last
      [20285.489727] dwc3 dwc3.0.auto: ep1out-bulk: cmd 'Start Transfer' params 00000000 a9eaf000 00000000
      [20285.490055] dwc3 dwc3.0.auto: Command Complete --> 0
      [20285.490281] dwc3 dwc3.0.auto: ep1out-bulk: Transfer Not Ready
      [20285.490492] dwc3 dwc3.0.auto: ep1out-bulk: reason Transfer Active
      [20285.490713] dwc3 dwc3.0.auto: ep1out-bulk: endpoint busy
      [20285.490909] dwc3 dwc3.0.auto: ep1out-bulk: Transfer Complete
      [20285.491117] dwc3 dwc3.0.auto: request ffff8800aa6cb480 from ep1out-bulk completed 512/512 ===> 0
      [20285.491431] zero gadget: bad OUT byte, buf[1] = 0
      [20285.491605] dwc3 dwc3.0.auto: ep1out-bulk: cmd 'Set Stall' params 00000000 00000000 00000000
      [20285.491915] dwc3 dwc3.0.auto: Command Complete --> 0
      [20285.492099] dwc3 dwc3.0.auto: queing request ffff8800aa6cb480 to ep1out-bulk length 512
      [20285.492387] dwc3 dwc3.0.auto: ep1out-bulk: Transfer Not Ready
      [20285.492595] dwc3 dwc3.0.auto: ep1out-bulk: reason Transfer Not Active
      [20285.492830] dwc3 dwc3.0.auto: ep1out-bulk: req ffff8800aa6cb480 dma aeb51000 length 512 last
      [20285.493135] dwc3 dwc3.0.auto: ep1out-bulk: cmd 'Start Transfer' params 00000000 a9eaf000 00000000
      [20285.493465] dwc3 dwc3.0.auto: Command Complete --> 0
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NHuang Rui <ray.huang@amd.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e4d58f5d
  3. 19 12月, 2013 2 次提交
  4. 18 12月, 2013 1 次提交
    • S
      usbtest: Fix BOS control test for USB 2.01 devices. · 8cf43285
      Sarah Sharp 提交于
      Commit c952a8ba "usb: usbtest: add a
      test case to support bos for queue control" will cause USB 2.01 and USB
      2.10 devices with a BOS descriptor to fail case 15 of the control test.
      
      The Link PM errata (released in 2007, updated in 2011) says:
      
      "The value of the bcdUSB field in the standard USB 2.0 Device Descriptor
      is used to indicate that the device supports the request to read the BOS
      Descriptor (i.e.  GetDescriptor(BOS)). Devices that support the BOS
      descriptor must have a bcdUSB value of 0201H or larger."
      
      The current code says that non-SuperSpeed devices *must* return -EPIPE,
      as this comment shows:
      
                      /* sign of this variable means:
                       *  -: tested code must return this (negative) error code
                       *  +: tested code may return this (negative too) error code
                       */
                      int                     expected = 0;
      
      This means the test will fail with USB 2.01 and USB 2.10 devices that
      provide a BOS descriptor.  Change it to only require a stall response if
      the USB device bcdUSB is less than 2.01.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Acked-by: NHuang Rui <ray.huang@amd.com>
      8cf43285
  5. 09 12月, 2013 3 次提交
  6. 31 10月, 2013 3 次提交
  7. 30 10月, 2013 2 次提交
  8. 01 10月, 2013 1 次提交
  9. 26 9月, 2013 1 次提交
  10. 01 8月, 2013 1 次提交
  11. 31 1月, 2013 1 次提交
    • A
      USB: altsetting overrides for usbtest · d0b4652f
      Alan Stern 提交于
      The usbtest driver includes some rather simple-minded logic for
      selecting an altsetting to test.  It doesn't work well for the g_zero
      gadget, because it selects altsetting 0 (which doesn't have
      isochronous endpoints) rather than altsetting 1 (which does have them,
      if the gadget's hardware supports them).  This prevents usbtest's
      isochronous tests (15, 16, 22, and 23) from working with g_zero.
      
      Since g_zero is one of the most common gadget drivers used for USB
      testing, usbtest should do a better job of supporting it.  But since
      some programs may rely on the current scheme for selecting
      altsettings, I didn't want to change it.
      
      Instead, this patch (as1655) adds a module parameter to usbtest, which
      can be used to override the default altsetting.  Since usbtest is
      never used by normal users (most distributions probably don't even
      build it), the new module parameter won't inconvenience anybody.  In
      any case, it is entirely optional -- leaving it unset preserves the
      existing behavior.
      
      The patch also fixes a related bug in usbtest: After selecting an
      altsetting, the driver neglects to store its selection.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d0b4652f
  12. 08 1月, 2013 1 次提交
  13. 22 11月, 2012 1 次提交
  14. 15 11月, 2012 1 次提交
  15. 02 5月, 2012 1 次提交
  16. 19 4月, 2012 1 次提交
  17. 18 4月, 2012 2 次提交
  18. 27 11月, 2011 1 次提交
  19. 18 9月, 2011 1 次提交
    • M
      usb: Provide usb_speed_string() function · e538dfda
      Michal Nazarewicz 提交于
      In a few places in the kernel, the code prints
      a human-readable USB device speed (eg. "high speed").
      This involves a switch statement sometimes wrapped
      around in ({ ... }) block leading to code repetition.
      
      To mitigate this issue, this commit introduces
      usb_speed_string() function, which returns
      a human-readable name of provided speed.
      
      It also changes a few places switch was used to use
      this new function.  This changes a bit the way the
      speed is printed in few instances at the same time
      standardising it.
      Signed-off-by: NMichal Nazarewicz <mina86@mina86.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e538dfda
  20. 24 8月, 2011 2 次提交
    • K
      USB: use usb_endpoint_maxp() instead of le16_to_cpu() · 29cc8897
      Kuninori Morimoto 提交于
      Now ${LINUX}/drivers/usb/* can use usb_endpoint_maxp(desc) to get maximum packet size
      instead of le16_to_cpu(desc->wMaxPacketSize).
      This patch fix it up
      
      Cc: Armin Fuerst <fuerst@in.tum.de>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Johannes Erdfelt <johannes@erdfelt.com>
      Cc: Vojtech Pavlik <vojtech@suse.cz>
      Cc: Oliver Neukum <oliver@neukum.name>
      Cc: David Kubicek <dave@awk.cz>
      Cc: Johan Hovold <jhovold@gmail.com>
      Cc: Brad Hards <bhards@bigpond.net.au>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Thomas Dahlmann <dahlmann.thomas@arcor.de>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: David Lopo <dlopo@chipidea.mips.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Michal Nazarewicz <m.nazarewicz@samsung.com>
      Cc: Xie Xiaobo <X.Xie@freescale.com>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Jiang Bo <tanya.jiang@freescale.com>
      Cc: Yuan-hsin Chen <yhchen@faraday-tech.com>
      Cc: Darius Augulis <augulis.darius@gmail.com>
      Cc: Xiaochen Shen <xiaochen.shen@intel.com>
      Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Cc: OKI SEMICONDUCTOR, <toshiharu-linux@dsn.okisemi.com>
      Cc: Robert Jarzmik <robert.jarzmik@free.fr>
      Cc: Ben Dooks <ben@simtec.co.uk>
      Cc: Thomas Abraham <thomas.ab@samsung.com>
      Cc: Herbert Pötzl <herbert@13thfloor.at>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Roman Weissgaerber <weissg@vienna.at>
      Acked-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Tony Olech <tony.olech@elandigitalsystems.com>
      Cc: Florian Floe Echtler <echtler@fs.tum.de>
      Cc: Christian Lucht <lucht@codemercs.com>
      Cc: Juergen Stuber <starblue@sourceforge.net>
      Cc: Georges Toth <g.toth@e-biz.lu>
      Cc: Bill Ryder <bryder@sgi.com>
      Cc: Kuba Ober <kuba@mareimbrium.org>
      Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      29cc8897
    • S
      USB: usbtest: use URB_ZERO_PACKET for BULK-OUT transfers · 7c79d094
      Sebastian Andrzej Siewior 提交于
      Executing
      | testusb -a -c 1 -t 3 -v 421 -s 2048
      
      does not complete on the gadget side.
      g_zero enqueues a 4096 bytes long buffer. The host sends 2048bytes which
      is a multiple of wMaxPacketSize (either 64 or 512 bytes). The host is
      done with sending data but the gadget waits for more.
      Since the protocol does not include transfer-length-field sending a
      terminating zero packet seems the only way out.
      Reviewed-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7c79d094
  21. 11 5月, 2011 1 次提交
  22. 10 5月, 2011 1 次提交
  23. 03 5月, 2011 2 次提交
  24. 30 4月, 2011 1 次提交
    • A
      USB: add queued-unlinks test case to usbtest driver · 869410f8
      Alan Stern 提交于
      This patch (as1452b) adds a new test case to the usbtest driver.  Test
      24 exercises the unlink-from-queue pathways in the host.  It queues a
      user-specified number of bulk-OUT URBs of user-specified size, unlinks
      the fourth- and second-from-last URBs in the queue, and then waits to
      see if all the URBs complete in the expected way (except of course
      that the unlinked URBs might complete normally, if they weren't
      unlinked soon enough).
      
      This new test has confirmed the existence of a bug in the ehci-hcd
      driver, to be fixed by a separate patch.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      869410f8
  25. 23 1月, 2011 1 次提交
    • M
      USB: usbtest - Add tests to ensure HCDs can accept byte aligned buffers. · 084fb206
      Martin Fuzzey 提交于
      Add a set of new tests similar to the existing ones but using
      transfer buffers at an "odd" address [ie offset of +1 from
      the buffer obtained by kmalloc() or usb_alloc_coherent()]
      
      The new tests are:
      #17 : bulk out (like #1) using kmalloc and DMA mapping by USB core.
      #18 : bulk in (like #2) using kmalloc and DMA mapping by USB core.
      #19 : bulk out (like #1) using usb_alloc_coherent()
      #20 : bulk in (like #2) using usb_alloc_coherent()
      #21 : control write (like #14)
      #22 : isochonous out (like #15)
      #23 : isochonous in (like #16)
      Signed-off-by: NMartin Fuzzey <mfuzzey@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      084fb206
  26. 23 10月, 2010 2 次提交
  27. 11 8月, 2010 3 次提交
    • M
      USB: usbtest: support test device with only one iso-in or iso-out endpoint · 951fd8ee
      Ming Lei 提交于
      It is very common that one altsetting may include only one iso-in or iso-out
      single endpoint, especially for high bandwidth endpoint, so support it.
      Signed-off-by: NMing Lei <tom.leiming@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      951fd8ee
    • M
      USB: usbtest: avoid to free coherent buffer in atomic context · e10e1bec
      Ming Lei 提交于
      This patch fixes the warning below:
      [30753.755998] ------------[ cut here ]------------
      [30753.755998] WARNING: at /home/tom/git/linux-2.6/linux-2.6-next/arch/x86/include/asm/dma-mapping.h:155 hcd_buffer_free+0xb1/0xd4 [usbcore]()
      [30753.755998] Hardware name: 6475EK2
      [30753.755998] Modules linked in: uvcvideo ehci_hcd usbtest cdc_ether usbnet vfat fat usb_storage nfsd lockd nfs_acl auth_rpcgss exportfs mii tun videodev v4l1_compat v4l2_compat_ioctl32 fuse bridge stp llc sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table mperf kvm_intel kvm arc4 ecb ath5k usbhid mac80211 snd_hda_codec_conexant ch341 usbserial ath cfg80211 thinkpad_acpi snd_hda_intel pcspkr wmi hwmon yenta_socket iTCO_wdt iTCO_vendor_support i2c_i801 e1000e snd_hda_codec snd_hwdep snd_pcm snd_timer snd soundcore snd_page_alloc pata_acpi uhci_hcd ohci_hcd usbcore i915 drm_kms_helper drm i2c_algo_bit i2c_core video output [last unloaded: uvcvideo]
      [30753.755998] Pid: 0, comm: swapper Tainted: G        W   2.6.35-rc6-gkh-wl+ #49
      [30753.755998] Call Trace:
      [30753.755998]  <IRQ>  [<ffffffff8104478a>] warn_slowpath_common+0x80/0x98
      [30753.755998]  [<ffffffff810447b7>] warn_slowpath_null+0x15/0x17
      [30753.755998]  [<ffffffffa00ce02d>] hcd_buffer_free+0xb1/0xd4 [usbcore]
      [30753.755998]  [<ffffffffa00c1345>] usb_free_coherent+0x1c/0x1e [usbcore]
      [30753.755998]  [<ffffffffa00b13e4>] simple_free_urb+0x23/0x2f [usbtest]
      [30753.755998]  [<ffffffffa00b210b>] iso_callback+0xbb/0x10f [usbtest]
      [30753.755998]  [<ffffffffa00c7390>] usb_hcd_giveback_urb+0x8c/0xc0 [usbcore]
      [30753.755998]  [<ffffffffa0449b35>] ehci_urb_done+0x84/0x95 [ehci_hcd]
      [30753.755998]  [<ffffffffa044b5a5>] ehci_work+0x41a/0x7dd [ehci_hcd]
      [30753.755998]  [<ffffffffa044e298>] ehci_irq+0x33b/0x370 [ehci_hcd]
      [30753.755998]  [<ffffffff8100fb05>] ? sched_clock+0x9/0xd
      [30753.755998]  [<ffffffff8105e641>] ? sched_clock_local+0x1c/0x82
      [30753.755998]  [<ffffffff8105e76a>] ? sched_clock_cpu+0xc3/0xce
      [30753.755998]  [<ffffffff81067c7e>] ? trace_hardirqs_off+0xd/0xf
      [30753.755998]  [<ffffffff8105e7b8>] ? cpu_clock+0x43/0x5e
      [30753.755998]  [<ffffffffa00c6999>] usb_hcd_irq+0x45/0xa1 [usbcore]
      [30753.755998]  [<ffffffff81092e02>] handle_IRQ_event+0x20/0xa5
      [30753.755998]  [<ffffffff81094cea>] handle_fasteoi_irq+0x92/0xd2
      [30753.755998]  [<ffffffff8100c0ed>] handle_irq+0x1f/0x2a
      [30753.755998]  [<ffffffff8100b75d>] do_IRQ+0x57/0xbe
      [30753.755998]  [<ffffffff8136a693>] ret_from_intr+0x0/0x16
      [30753.755998]  <EOI>  [<ffffffff81223baa>] ? acpi_idle_enter_bm+0x231/0x269
      [30753.755998]  [<ffffffff81223ba3>] ? acpi_idle_enter_bm+0x22a/0x269
      [30753.755998]  [<ffffffff812c4b6b>] cpuidle_idle_call+0x99/0xce
      [30753.755998]  [<ffffffff81008dd5>] cpu_idle+0x61/0xaa
      [30753.755998]  [<ffffffff8136374b>] start_secondary+0x1c2/0x1c6
      [30753.755998] ---[ end trace 904cfaf7ab4cb1a2 ]---
      Signed-off-by: NMing Lei <tom.leiming@gmail.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e10e1bec
    • A
      USB-BKL: Convert usb_driver ioctl to unlocked_ioctl · c532b29a
      Andi Kleen 提交于
      And audit all the users. None needed the BKL.  That was easy
      because there was only very few around.
      
      Tested with allmodconfig build on x86-64
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      From: Andi Kleen <ak@linux.intel.com>
      c532b29a