Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp838597ybp; Fri, 4 Oct 2019 05:52:31 -0700 (PDT) X-Google-Smtp-Source: APXvYqyTAgkS9n1VVKAwBVJsxA2+8pHMWIZax3ye2IE1FfP0ooVly0ew5gujl8rswAYHtTK9h24i X-Received: by 2002:a05:6402:3d2:: with SMTP id t18mr14687116edw.136.1570193550949; Fri, 04 Oct 2019 05:52:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570193550; cv=none; d=google.com; s=arc-20160816; b=PxS/0taImYr4gV3m/1r/dqaI6kKbBXI1NR8J1awqo28ubT/c/8cRfIkXUBaps6Kwf1 Ff0WBJAIJrpQ4z7sqquvLOUS+/m120PyX4E7AvIlhiVb7q2zSAcQ/VI/uXDu2oHEDoL9 EDygzXyeC0JzYuC35d6DfeVc0qRnCsd8ydehpXm6rFsYDJfcBSZYYau29lFkojnLYtHI bav1YxGFPf7K6fiTGEje9ofM3Nm77Dqxy/W2/6ps4agltorYX7qdWYcupVdGbXFuUR35 r384MpLbyR3gwPlrZ4Q3wAwrP3dqHXCeHNFC8RfNTqp30EM1NLWC/Sn5wC4WY2+jxN9H h7gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=lQn0PUtxeeVWWuE0dFAaI5yjv6mQfswSJwaCnZ68YdM=; b=uahpCyfRPClbkhNMKn0G1WtZOzCRwq4DdBKJEAvxL0bvl1fSV1LmIN1zPuJpd9yPOl 3bXesLwZtGO1dYSKCfzt/rDnPDAnQDbmK5S0zdcd0fuocHnaymnphcAaoDqQtmr5rQKl RN1jXH+wFcAA7cUUrtfkcP37Brsf7bwp/oyOdWt8YgUeEO61IneaZAaZ3rsuFO0IKmrt BbDM7QUjnDZyOmEzSuY/9TzU0mAmQLz+qEHcdGO+pjqa0zYoXZvEz0HlQiMRpzhftCL6 6fpBBeUhuhGQo5x9hl4KNLGfy5qqueiwlLoMBM6QuQg7F3VGc8Uyj7p2U+Vdm7M9nySY edDQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i16si3608262ede.86.2019.10.04.05.52.06; Fri, 04 Oct 2019 05:52:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387801AbfJDMvW (ORCPT + 99 others); Fri, 4 Oct 2019 08:51:22 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:45515 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387440AbfJDMvW (ORCPT ); Fri, 4 Oct 2019 08:51:22 -0400 Received: from 61-220-137-37.hinet-ip.hinet.net ([61.220.137.37] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1iGN3C-00065G-RU; Fri, 04 Oct 2019 12:51:15 +0000 From: Kai-Heng Feng To: davem@davemloft.net Cc: hayeswang@realtek.com, mario.limonciello@dell.com, linux-usb@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Kai-Heng Feng Subject: [PATCH] r8152: Set macpassthru in reset_resume callback Date: Fri, 4 Oct 2019 20:51:04 +0800 Message-Id: <20191004125104.13202-1-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org r8152 may fail to establish network connection after resume from system suspend. If the USB port connects to r8152 lost its power during system suspend, the MAC address was written before is lost. The reason is that The MAC address doesn't get written again in its reset_resume callback. So let's set MAC address again in reset_resume callback. Also remove unnecessary lock as no other locking attempt will happen during reset_resume. Signed-off-by: Kai-Heng Feng --- drivers/net/usb/r8152.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 08726090570e..cee9fef925cd 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -4799,10 +4799,9 @@ static int rtl8152_reset_resume(struct usb_interface *intf) struct r8152 *tp = usb_get_intfdata(intf); clear_bit(SELECTIVE_SUSPEND, &tp->flags); - mutex_lock(&tp->control); tp->rtl_ops.init(tp); queue_delayed_work(system_long_wq, &tp->hw_phy_work, 0); - mutex_unlock(&tp->control); + set_ethernet_addr(tp); return rtl8152_resume(intf); } -- 2.17.1