From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932533AbdLTIlu (ORCPT ); Wed, 20 Dec 2017 03:41:50 -0500 Received: from mail-wm0-f49.google.com ([74.125.82.49]:40812 "EHLO mail-wm0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932403AbdLTIlt (ORCPT ); Wed, 20 Dec 2017 03:41:49 -0500 X-Google-Smtp-Source: ACJfBos5ji+6pOQW/2Xi5G2xsCoifE3my9waCpNGMzE7XCKeFsUHdkk4Ok/gUzmuQu77LOQS7Q16bgcQGBDTw/Tnz2g= MIME-Version: 1.0 From: Chris Chiu Date: Wed, 20 Dec 2017 16:41:47 +0800 Message-ID: Subject: r8169 take too long to complete driver initialization To: nic_swsd@realtek.com, netdev@vger.kernel.org, Linux Kernel , Linux Upstreaming Team Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, We've hit a suspend/resume issue on a Acer desktop caused by r8169 driver. The dmseg https://gist.github.com/mschiu77/b741849b5070281daaead8dfee312d1a shows it's still in msleep() within a mutex lock. After looking into the code, it's caused by the rtl8168ep_stop_cmac() which is waiting 100 seconds for rtl_ocp_tx_cond. The following dmesg states that the r8169 driver is loaded. [ 20.270526] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded But it takes > 100 seconds to get the following messages [ 140.400223] r8169 0000:02:00.0 (unnamed net_device) (uninitialized): rtl_ocp_tx_cond == 1 (loop: 2000, delay: 50). [ 140.413294] r8169 0000:02:00.0 eth0: RTL8168ep/8111ep at 0xffffb16c80db1000, f8:0f:41:ea:74:0d, XID 10200800 IRQ 46 [ 140.413297] r8169 0000:02:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko] So any trial to suspend the machine during this period would always get device/resource busy message then abort. Is this rtl_ocp_tx_cond necessary? Because the ethernet is still working and I don't see any problem. I don't know it should be considered normal or not. Please let me know if any more information required. Thanks Chris