15 Dec, 2018

1 commit


27 Nov, 2018

1 commit


11 Oct, 2018

1 commit


28 Jun, 2018

1 commit

  • This bug is the combination of dwc2 USB controller and lan78xx
    USB ethernet controller, which is the combination in use on
    the Raspberry Pi Model 3 B+.

    When the host attempts to receive a packet, but a packet has not
    arrived, the lan78xx controller responds by setting BIR
    (Bulk-In Empty Response) to NAK. Unfortunately, this hangs
    the USB controller and requires the USB controller to
    be reset.

    The fix proposed is to have the lan78xx controller respond
    by setting BIR to ZLP.

    Signed-off-by: Andrew Thomas
    Tested-by: Peter Robinson
    Reviewed-by: Alexander Graf

    Andrew Thomas
     

07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

23 Mar, 2018

1 commit

  • The lan75xx and lan78xx drivers need to drive their phy via the generic
    phylib framework. Let's reflect that dependency in Kconfig, so that we
    don't get build errors when phylib does not get selected.

    Signed-off-by: Alexander Graf
    Acked-by: Joe Hershberger

    Alexander Graf
     

04 Oct, 2017

1 commit

  • U-Boot widely uses error() as a bit noisier variant of printf().

    This macro causes name conflict with the following line in
    include/linux/compiler-gcc.h:

    # define __compiletime_error(message) __attribute__((error(message)))

    This prevents us from using __compiletime_error(), and makes it
    difficult to fully sync BUILD_BUG macros with Linux. (Notice
    Linux's BUILD_BUG_ON_MSG is implemented by using compiletime_assert().)

    Let's convert error() into now treewide-available pr_err().

    Done with the help of Coccinelle, excluing tools/ directory.

    The semantic patch I used is as follows:

    //
    @@@@
    -error
    +pr_err
    (...)
    //

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Simon Glass
    [trini: Re-run Coccinelle]
    Signed-off-by: Tom Rini

    Masahiro Yamada
     

08 Sep, 2017

2 commits


15 Aug, 2017

1 commit


08 Aug, 2017

1 commit

  • After upgrading to GCC 7.1, the duplicate const specifies in the
    r8152 driver trigger the following build warnings with buildman
    (observed on a 'buildman rockchip' test)::
    ../drivers/usb/eth/r8152.c:62:35: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
    static const struct r8152_version const r8152_versions[] = {
    ^~~~~

    This commit fixes these by removing the duplicate 'const' specifier
    from the declarations.

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass
    Acked-by: Joe Hershberger

    Philipp Tomsich
     

21 May, 2017

1 commit

  • The mcs7830_recv() (non-DM) function discards good packets and tries to
    process "bad" packets due to incorrect test condition.
    Fix the condition and return the proper value as described in function
    doc.

    Signed-off-by: Uri Mashiach
    Acked-by: Igor Grinberg

    Uri Mashiach
     

10 May, 2017

1 commit


09 Dec, 2016

1 commit

  • Testing on theadorable (Armada XP) has shown, that using this driver
    results in many cache misaligned warning, such as:

    CACHE: Misaligned operation at range [7fabd8fc, 7fabd900]

    This patch now uses the ALLOC_CACHE_ALIGN_BUFFER() macro to allocate the
    buffers on a cache aligned boundary. This fixes all warnings seen on the
    Armada XP platform.

    Signed-off-by: Stefan Roese
    Cc: Ted Chen
    Cc: Joe Hershberger
    Acked-by: Joe Hershberger

    Stefan Roese
     

05 Dec, 2016

1 commit

  • Apparently the indentation is wrong here, fix this to avoid compiler
    warnings and puzzled readers.

    Pointed out by GCC 6.2's -Wmisleading-indentation warning.

    Signed-off-by: Andre Przywara
    Reviewed-by: Marek Vasut
    Acked-by: Joe Hershberger

    Andre Przywara
     

14 Oct, 2016

1 commit

  • eth-uclass.c expects DM-capable Ethernet adapters to implement ops->
    read_rom_hwaddr(), or for some other mechanism to set pdata->enetaddr, or
    for the user to set environment variable $usbethaddr. Without any of
    these, it will refuse to initialize the device since no valid MAC address
    is known. Implement this function for the smsc95xx driver.

    With this feature implemented, there is no point smsc95xx_init_common()
    re-reading the MAC address from ROM, so ifdef out this code when DM_ETH
    is enabled.

    This allows (at least) the built-in Ethernet on the NVIDIA Harmony board
    to operate again.

    Fixes: 0990fcb77219 ("net: smsc95xx: Add driver-model support")
    Signed-off-by: Stephen Warren
    Acked-by: Joe Hershberger

    Stephen Warren
     

28 Sep, 2016

1 commit

  • Commit 147271209a9d ("net: asix: fix operation without eeprom")
    added a special handling for ASIX 88772B that enable another
    type of header. This break the driver in DM mode as the extra handling
    needed in the receive path is missing.

    However this new header mode is not required and only seems to
    increase the code complexity, so this patch revert this part of
    commit 147271209a9d.

    This also reverts commit 41d1258aceb45b45f9e68f67a9c40f0afbc09dc9
    ("net: asix: Fix AX88772B when used with DriverModel") of late.

    Fixes: 147271209a9d ("net: asix: fix operation without eeprom")

    Signed-off-by: Alban Bedel
    Signed-off-by: Marcel Ziswiler

    Alban Bedel
     

10 Sep, 2016

1 commit

  • A previous patch (net: asix: fix operation without eeprom) added a
    two-byte shift to the packet buffer when receiving a packet on the
    AX88772B.

    This shift was not included when the driver was updated to work with
    DriverModel. Testing on a Marvell DB-88F6820-ACM showed that the adapter
    was not functioning correctly (EHCI timeouts).

    This patch brings the two-byte shift to the DriverModel implementation
    of ops->recv (asix_eth_recv).

    Testing on the same board, we were able to TFTP a file over and confirm
    that the crc32 was correct.

    Signed-off-by: Joshua Scott
    Acked-by: Joe Hershberger

    Joshua Scott
     

16 Aug, 2016

1 commit


09 Aug, 2016

2 commits


08 Aug, 2016

3 commits


02 Apr, 2016

2 commits


25 Feb, 2016

1 commit

  • The alignment and size were swapped, leading to malloc heap corruption.

    On my system, this sometimes caused U-Boot to crash during or after
    certain USB Ethernet operations.

    Fixes: c8c2797c3810 ("dm: usb: eth: Support driver model with USB Ethernet")
    Signed-off-by: Stephen Warren

    Stephen Warren
     

23 Jan, 2016

1 commit

  • This patch adds driver support for the Realtek RTL8152B/RTL8153 USB
    network adapters.

    Signed-off-by: Ted Chen
    [swarren, fixed a few compiler warnings]
    [swarren, with permission, converted license header to SPDX]
    [swarren, removed printf() spew during probe()]
    Signed-off-by: Stephen Warren

    Ted Chen
     

13 Jan, 2016

2 commits


13 Nov, 2015

1 commit

  • Fix below compilation warings happening for hikey_defconfig

    drivers/usb/eth/smsc95xx.c:698:56: warning: cast from pointer to integer
    of different size [-Wpointer-to-int-cast]
    debug("** %s(), len %d, buf %#x\n", __func__, length, (int)msg);
    ^
    include/common.h:109:26: note: in definition of macro ‘debug_cond’
    printf(pr_fmt(fmt), ##args); \
    ^
    drivers/usb/eth/smsc95xx.c:698:2: note: in expansion of macro ‘debug’
    debug("** %s(), len %d, buf %#x\n", __func__, length, (int)msg);
    ^
    drivers/usb/eth/smsc95xx.c:718:2: warning: format ‘%u’ expects argument of
    type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
    debug("Tx: len = %u, actual = %u, err = %d\n",
    ^
    drivers/usb/eth/smsc95xx.c: In function ‘smsc95xx_recv’:
    drivers/usb/eth/smsc95xx.c:802:19: warning: cast from pointer to integer
    of different size [-Wpointer-to-int-cast]
    cur_buf_align = (int)buf_ptr - (int)recv_buf;
    ^
    drivers/usb/eth/smsc95xx.c:802:34: warning: cast from pointer to integer
    of different size [-Wpointer-to-int-cast]
    cur_buf_align = (int)buf_ptr - (int)recv_buf;

    Signed-off-by: Prabhakar Kushwaha

    Prabhakar Kushwaha
     

30 Oct, 2015

2 commits


29 Oct, 2015

1 commit

  • smsc95xx_recv() does not reassemble bursts spread over multiple URBs.
    If there is a lot of broadcast traffic, the fifo will fill up to the
    burst cap limit. Lowering the burst cap to the URB size ensures no packet
    spans multiple urbs.
    Caveat, lower limit for working burst cap is 5/33 HS/FS packets.

    Signed-off-by: Stefan Brüns
    Acked-by: Joe Hershberger

    Stefan Brüns
     

23 Oct, 2015

1 commit


12 Sep, 2015

1 commit


06 Aug, 2015

4 commits