[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20180829.180741.1013572399940190917.davem@davemloft.net>
Date: Wed, 29 Aug 2018 18:07:41 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: a3at.mail@...il.com
Cc: netdev@...r.kernel.org, hkallweit1@...il.com, nic_swsd@...ltek.com
Subject: Re: [PATCH] r8169: set RxConfig after tx/rx is enabled for
RTL8169sb/8110sb devices
From: Azat Khuzhin <a3at.mail@...il.com>
Date: Sun, 26 Aug 2018 17:03:09 +0300
> I have two Ethernet adapters:
> r8169 0000:03:01.0 eth0: RTL8169sb/8110sb, 00:14:d1:14:2d:49, XID 10000000, IRQ 18
> r8169 0000:01:00.0 eth0: RTL8168e/8111e, 64:66:b3:11:14:5d, XID 2c200000, IRQ 30
> And after upgrading from linux 4.15 [1] to linux 4.18+ [2] RTL8169sb failed to
> receive any packets. tcpdump shows a lot of checksum mismatch.
>
> [1]: a0f79386a4968b4925da6db2d1daffd0605a4402
> [2]: 0519359784328bfa92bf0931bf0cff3b58c16932 (4.19 merge window opened)
>
> I started bisecting and the found that [3] breaks it. According to [4]:
> "For 8110S, 8110SB, and 8110SC series, the initial value of RxConfig
> needs to be set after the tx/rx is enabled."
> So I moved rtl_init_rxcfg() after enabling tx/rs and now my adapter works
> (RTL8168e works too).
>
> [3]: 3559d81e76bfe3803e89f2e04cf6ef7ab4f3aace
> [4]: e542a2269f232d61270ceddd42b73a4348dee2bb ("r8169: adjust the RxConfig
> settings.")
>
> Also drop "rx" from rtl_set_rx_tx_config_registers(), since it does nothing
> with it already.
>
> Fixes: 3559d81e76bfe3803e89f2e04cf6ef7ab4f3aace ("r8169: simplify
> rtl_hw_start_8169")
>
> Cc: Heiner Kallweit <hkallweit1@...il.com>
> Cc: David S. Miller <davem@...emloft.net>
> Cc: netdev@...r.kernel.org
> Cc: Realtek linux nic maintainers <nic_swsd@...ltek.com>
> Signed-off-by: Azat Khuzhin <a3at.mail@...il.com>
Applied and queued up for -stable.
Powered by blists - more mailing lists