29 Sep, 2014

1 commit

  • The USB PHY member of the HCD structure is renamed to 'usb_phy' and
    modifications are done in all drivers accessing it.
    This is in preparation to adding the generic PHY support.

    Signed-off-by: Antoine Tenart
    [Sergei: added missing 'drivers/usb/misc/lvstest.c' file, resolved rejects,
    updated changelog.]
    Signed-off-by: Sergei Shtylyov
    Acked-by: Alan Stern
    Acked-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Antoine Tenart
     

24 Sep, 2014

4 commits


09 Sep, 2014

1 commit

  • Merge Linux 3.17-rc4 here so we have all the latest
    fixes on next too. This also cleans up a few conflicts
    when applying patches.

    Signed-off-by: Felipe Balbi

    Conflicts:
    drivers/usb/gadget/Makefile
    drivers/usb/gadget/function/Makefile
    drivers/usb/gadget/legacy/Makefile
    drivers/usb/phy/phy-samsung-usb.h

    Felipe Balbi
     

30 Aug, 2014

1 commit

  • Two simple test cases for interrupt endpoints are added to the usbtest.c file.
    These are simple non-queued interrupt IN and interrupt OUT transfers. Currently,
    only gadget zero is capable of executing the interrupt EP test cases. However,
    extending the same to other gadgets is extremely simple and can be done
    on-demand.

    The two new tests added are
    - Test 25: To verify Interrupt OUT transfer
    - Test 26: To verify Interrupt IN transfer

    Since the default value of wMaxPacketSize is set as 1024, so interrupt
    IN transfers must be specified with the size parameter = multiple of
    1024. Otherwise the default value (512) in the usbtest application fails
    the transfer. See [RUN 4] for sample logs

    The application logs (usbtest) and corresponding kernel logs are as
    following:

    [Run 1]
    ./testusb -a -c 10 -s 2048 -t 26 -v 511
    usbtest 7-1:3.0: TEST 26: read 2048 bytes 10 times

    [Run 2]
    ./testusb -a -c 10 -s 1024 -t 25 -v 511
    usbtest 7-1:3.0: TEST 25: write 1024 bytes 10 times

    [Run 3]
    ./testusb -a -c 10 -s 1098 -t 25 -v 511
    usbtest 7-1:3.0: TEST 25: write 1098 bytes 10 times

    [Run 4 - Failure case scenario]
    ./testusb -a -t 26
    unknown speed /dev/bus/usb/007/004 0
    /dev/bus/usb/007/004 test 26 --> 75 (Value too large for defined data type)

    usbtest 7-1:3.0: TEST 26: read 512 bytes 1000 times
    usb 7-1: test26 failed, iterations left 999, status -75 (not 0)

    Signed-off-by: Amit Virdi
    Signed-off-by: Felipe Balbi

    Amit Virdi
     

27 Aug, 2014

1 commit


23 Jul, 2014

1 commit

  • Following sparse warnings were reported by kbuild test bot

    drivers/usb/misc/lvstest.c:314:28: sparse: incorrect type in assignment (different base types)
    drivers/usb/misc/lvstest.c:314:28: expected unsigned short [unsigned] [usertype] portchange
    drivers/usb/misc/lvstest.c:314:28: got restricted __le16 [usertype] wPortChange
    drivers/usb/misc/lvstest.c:332:40: sparse: restricted __le16 degrades to integer

    This patch fixes above warnings.

    Reported-by: kbuild test robot
    Signed-off-by: Pratyush Anand
    Signed-off-by: Greg Kroah-Hartman

    Pratyush Anand
     

18 Jul, 2014

1 commit

  • OTG3 and EH Compliance Plan 1.0 talks about Super Speed OTG Verification
    system (SS-OVS) which consists of an excersizer and analyzer.

    USB Compliance Suite from Lecroy or Ellisys can act as such SS-OVS for
    Link Layer Validation (LVS).

    Some modifications are needed for an embedded Linux USB host to pass all
    these tests. Most of these tests require just Link to be in U0. They do
    not work with default Linux USB stack since, default stack does port
    reset and then starts sending setup packet, which is not expected by
    Link Layer Validation (LVS) device of Lecroy Compliance Suit. Then,
    There are many Link Layer Tests which need host to generate specific
    traffic.

    This patch supports specific traffic generation cases. As of now all the
    host Lecroy Link Layer-USBIF tests (except TD7.26) passes
    with this patch for single run using Lecroy USB Compliance Suite
    Version 1.98 Build 239 and Lecroy USB Protocol Analyzer version 4.80
    Build 1603. Therefore patch seems to be a good candidate for inclusion.
    Further modification can be done on top of it.

    lvstest driver will not bind to any device by default. It can bind
    manually to a super speed USB host controller root hub. Therefore, regular
    hub driver must be unbound before this driver is bound. For example, if
    2-0:1.0 is the xhci root hub, then execute following to unbind hub driver.

    echo 2-0:1.0 > /sys/bus/usb/drivers/hub/unbind

    Then write Linux Foundation's vendor ID which is used by root hubs and
    SS root hub's device ID into new_id file. Writing IDs into new_id file
    will also bind the lvs driver with any available SS root hub interfaces.

    echo "1D6B 3" > /sys/bus/usb/drivers/lvs/new_id

    Now connect LVS device with root hub port.

    Test case specific traffic can be generated as follows whenever needed:

    1. To issue "Get Device descriptor" command for TD.7.06:
    echo > /sys/bus/usb/devices/2-0\:1.0/get_dev_desc

    2. To set U1 timeout to 127 for TD.7.18
    echo 127 > /sys/bus/usb/devices/2-0\:1.0/u1_timeout

    3. To set U2 timeout to 0 for TD.7.18
    echo 0 > /sys/bus/usb/devices/2-0\:1.0/u2_timeout

    4. To issue "Hot Reset" for TD.7.29
    echo > /sys/bus/usb/devices/2-0\:1.0/hot_reset

    5. To issue "U3 Entry" for TD.7.35
    echo > /sys/bus/usb/devices/2-0\:1.0/u3_entry

    6. To issue "U3 Exit" for TD.7.36
    echo > /sys/bus/usb/devices/2-0\:1.0/u3_exit

    Signed-off-by: Pratyush Anand
    Acked-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Pratyush Anand
     

12 Jul, 2014

1 commit


10 Jul, 2014

1 commit

  • 'err' is uninitialized, rather print the error code directly.

    This also fixes following warning.
    drivers/usb/misc/usb3503.c: In function ‘usb3503_probe’:
    drivers/usb/misc/usb3503.c:195:11: warning: ‘err’ may be used uninitialized
    in this function [-Wmaybe-uninitialized]
    dev_err(dev, "unable to request refclk (%d)\n", err);

    Signed-off-by: Tushar Behera
    Acked-by: Marek Szyprowski
    Signed-off-by: Greg Kroah-Hartman

    Tushar Behera
     

18 Jun, 2014

1 commit

  • In usbtest, tests 5 - 8 use the scatter-gather library in usbcore
    without any sort of timeout. If there's a problem in the gadget or
    host controller being tested, the test can hang.

    This patch adds a 10-second timeout to the tests, so that they will
    fail gracefully with an ETIMEDOUT error instead of hanging.

    Signed-off-by: Alan Stern
    Reported-by: Huang Rui
    Tested-by: Huang Rui
    CC:
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

28 May, 2014

7 commits

  • 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: Huang Rui
    Signed-off-by: Greg Kroah-Hartman

    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:
    Signed-off-by: Huang Rui
    Signed-off-by: Greg Kroah-Hartman

    Huang Rui
     
  • USB3503 chip supports 8 values of reference clock. The value is
    specified by REF_SEL[1:0] pins and INT_N line. This patch add support
    for getting 'refclk' clock, enabling it and setting INT_N line according
    to the value of the gathered clock. If no clock has been specified,
    driver defaults to the old behaviour (assuming that clock has been
    specified by REF_SEL pins from primary reference clock frequencies
    table).

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Greg Kroah-Hartman

    Marek Szyprowski
     
  • There's a window during which read() would return 0 instead
    of a correct error for no data yet. Reorder initialization
    to fix the race.

    Signed-off-by: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     
  • The workqueue handler may call appledisplay_bl_get_brightness() while
    user space calls appledisplay_bl_update_status(). As they share a
    buffer that must not happen. Use a mutex for mutual exclusion.

    Signed-off-by: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     
  • Use a more standard logging style.

    Add terminating newlines to formats.
    Remove __func__ as that can be added via dynamic debug.
    Remove now unnecessary debug module parameter.
    Remove the dbg macro too.

    Signed-off-by: Joe Perches
    Signed-off-by: Greg Kroah-Hartman

    Joe Perches
     
  • Use a newline character appropriately.

    Signed-off-by: Joe Perches
    Signed-off-by: Greg Kroah-Hartman

    Joe Perches
     

25 Apr, 2014

5 commits


04 Mar, 2014

1 commit

  • Convert 1 char * array to 2 char arrays to reduce size.
    Use static const to avoid array reloads on function entry.
    Fix asymmetric typo.

    $ size drivers/usb/misc/sisusbvga/sisusb.o*
    text data bss dec hex filename
    29971 4841 9180 43992 abd8 drivers/usb/misc/sisusbvga/sisusb.o.new
    30083 4841 9180 44104 ac48 drivers/usb/misc/sisusbvga/sisusb.o.old

    Signed-off-by: Joe Perches
    Signed-off-by: Greg Kroah-Hartman

    Joe Perches
     

12 Feb, 2014

2 commits

  • Add support for the "Webmail Notifier" (USB powered LED for signaling
    new emails) made by Riso Kagaku Corp. which displays 7 distinct colors.

    USB Protocol initially reverse engineered by
    https://code.google.com/p/usbmailnotifier/.

    Signed-off-by: Christian Vogel
    Signed-off-by: Greg Kroah-Hartman

    Christian Vogel
     
  • The Kconfig entries for USB_U132_HCD and USB_FTDI_ELAN default to
    (uppercase) "M". But in Kconfig (lowercase) "m" is a magic symbol. "M"
    is an ordinary symbol. As "M" is never set these Kconfig symbols will
    also not be set by default.

    Since I'm not aware of a reason why these driver should be set by
    default, let's just drop these lines (that basically do nothing).

    Signed-off-by: Paul Bolle
    Signed-off-by: Greg Kroah-Hartman

    Paul Bolle
     

09 Jan, 2014

1 commit


04 Jan, 2014

3 commits


22 Dec, 2013

1 commit

  • …/git/sarah/xhci into usb-next

    Sarah writes:

    xhci: Cleanups, non-urgent fixes for 3.14.

    Happy Holidays, Greg!

    Here's four patches to be queued to usb-next for 3.14.

    One adds a module parameter to the xHCI driver to allow users to enable
    xHCI quirks without recompiling their kernel, which you've already said
    is fine. The second patch is a bug fix for new usbtest code that's only
    in usb-next. The third patch is simple cleanup.

    The last patch is a non-urgent bug fix for xHCI platform devices. The
    bug has been in the code since 3.9. You've been asking me to hold off
    on non-urgent bug fixes after -rc4/-rc5, so it can go into usb-next, and
    be backported to stable once 3.14 is out.

    These have all been tested over the past week. I did run across one
    oops, but it turned out to be a bug in 3.12, and therefore not related
    to any of these patches.

    Please queue these for usb-next and 3.14.

    Thanks,
    Sarah Sharp

    Greg Kroah-Hartman
     

20 Dec, 2013

1 commit

  • Mark function my_memlen() as static in misc/usbsevseg.c because it is
    not used outside this file.

    This eliminates the following warning in misc/usbsevseg.c:
    drivers/usb/misc/usbsevseg.c:60:15: warning: no previous prototype for ‘my_memlen’ [-Wmissing-prototypes]

    Signed-off-by: Rashika Kheria
    Reviewed-by: Josh Triplett
    Signed-off-by: Greg Kroah-Hartman

    Rashika Kheria
     

19 Dec, 2013

2 commits

  • In test_halt() we set an endpoint halt condition and return on halt verification
    failure, then the enpoint will remain halted and all further tests related
    to that enpoint will fail. This is because we don't tackle endpoint halt error condition
    in any of the tests. To avoid that situation, make sure to clear the
    halt condition before exiting test_halt().

    Signed-off-by: Roger Quadros
    Reviewed-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Roger Quadros
     
  • Without a timetout some tests e.g. test_halt() can remain stuck forever.

    Signed-off-by: Roger Quadros
    Reviewed-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Roger Quadros
     

18 Dec, 2013

1 commit

  • Commit c952a8ba7136505cd1ca01735cc748ddc08c7d2f "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: Sarah Sharp
    Acked-by: Huang Rui

    Sarah Sharp
     

09 Dec, 2013

3 commits

  • The commit "usb: usbtest: support bos descriptor test for usb 3.0"
    introduced a test for bos descriptor. And USB 2.1 device also can be
    checked. So this patch extends the test coverage to support USB 2.1 device.

    Reported-by: Sarah Sharp
    Signed-off-by: Huang Rui
    Acked-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Huang Rui
     
  • USB 2.1 Link PM adds to use bits[1:15] according to USB 2.0 ECN Errata for
    Link Power Management spec.

    Bit Encoding
    0 Reserved
    1 LPM
    2 BESL & Altemate HIRD definitions supported
    3 Recommended Baseline BESL valid
    4 Recommended Deep BESL valid
    11:8 Recommended Baseline BESL value
    15:12 Recommended Deep BESL value
    31:16 Reserved

    So fix the bit mask from 0x1e to 0xfffe.

    Reported-by: Sarah Sharp
    Signed-off-by: Huang Rui
    Acked-by: Felipe Balbi
    Acked-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Huang Rui
     
  • In Test 10 of usbtest module, it queues multiple control messages and
    thereby tests control message queuing, protocol stalls, short reads, and
    fault handling. And this patch add a test case to support queue BOS control
    request for USB 3.0 SPEC.

    Signed-off-by: Huang Rui
    Signed-off-by: Greg Kroah-Hartman

    Huang Rui