lkml.org 
[lkml]   [2017]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 348/370] r8152: fix the sw rx checksum is unavailable
    3.16.42-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: hayeswang <hayeswang@realtek.com>

    [ Upstream commit 19c0f40d4fca3a47b8f784a627f0467f0138ccc8 ]

    Fix the hw rx checksum is always enabled, and the user couldn't switch
    it to sw rx checksum.

    Note that the RTL_VER_01 only support sw rx checksum only. Besides,
    the hw rx checksum for RTL_VER_02 is disabled after
    commit b9a321b48af4 ("r8152: Fix broken RX checksums."). Re-enable it.

    Signed-off-by: Hayes Wang <hayeswang@realtek.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/net/usb/r8152.c | 7 ++++++-
    1 file changed, 6 insertions(+), 1 deletion(-)

    --- a/drivers/net/usb/r8152.c
    +++ b/drivers/net/usb/r8152.c
    @@ -1596,7 +1596,7 @@ static u8 r8152_rx_csum(struct r8152 *tp
    u8 checksum = CHECKSUM_NONE;
    u32 opts2, opts3;

    - if (tp->version == RTL_VER_01)
    + if (!(tp->netdev->features & NETIF_F_RXCSUM))
    goto return_result;

    opts2 = le32_to_cpu(rx_desc->opts2);
    @@ -3454,6 +3454,11 @@ static int rtl8152_probe(struct usb_inte
    NETIF_F_TSO | NETIF_F_FRAGLIST |
    NETIF_F_IPV6_CSUM | NETIF_F_TSO6;

    + if (tp->version == RTL_VER_01) {
    + netdev->features &= ~NETIF_F_RXCSUM;
    + netdev->hw_features &= ~NETIF_F_RXCSUM;
    + }
    +
    netdev->ethtool_ops = &ops;
    netif_set_gso_max_size(netdev, RTL_LIMITED_TSO_SIZE);

    \
     
     \ /
      Last update: 2017-03-10 13:19    [W:3.841 / U:0.196 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site