From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH] r8169: set RxConfig after tx/rx is enabled for RTL8169sb/8110sb devices Date: Mon, 27 Aug 2018 15:25:26 -0700 (PDT) Message-ID: <20180827.152526.373553144560078421.davem@davemloft.net> References: <20180826140309.32310-1-a3at.mail@gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, hkallweit1@gmail.com, nic_swsd@realtek.com To: a3at.mail@gmail.com Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:33714 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726994AbeH1COB (ORCPT ); Mon, 27 Aug 2018 22:14:01 -0400 In-Reply-To: <20180826140309.32310-1-a3at.mail@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Azat Khuzhin 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 > Cc: David S. Miller > Cc: netdev@vger.kernel.org > Cc: Realtek linux nic maintainers > Signed-off-by: Azat Khuzhin > --- > It looks like calling rtl_init_rxcfg() the second time is fine, but I > can move it into rtl_hw_start_8169()) Heiner, please review.