From patchwork Thu Dec 29 18:33:14 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Todd Broch X-Patchwork-Id: 133590 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 9AFF1B6FBA for ; Fri, 30 Dec 2011 05:34:03 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752178Ab1L2Sd7 (ORCPT ); Thu, 29 Dec 2011 13:33:59 -0500 Received: from mail-tul01m020-f174.google.com ([209.85.214.174]:55919 "EHLO mail-tul01m020-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751221Ab1L2Sd6 (ORCPT ); Thu, 29 Dec 2011 13:33:58 -0500 Received: by obcwo16 with SMTP id wo16so9483556obc.19 for ; Thu, 29 Dec 2011 10:33:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:x-mailer; bh=Ykb7wFZz+Olua+/GKZcJJzdYpg0daZHMcu+ZM2ytEcc=; b=GtOkzEC6p8gKsiRaBtSPqcBo7EFVUiw9BFhCarZW0choq4CkxG1YWDB+XZNaoVyqC1 2CikODjGO2jgz8T2SjQvuh8RlSCt1o+tpmmOdWAKfnrKDAktrG0GcroOjf70O+gNqC37 7180VSxd2YxEJheN393vXKN/jM07MgwSyHEUc= Received: by 10.50.17.195 with SMTP id q3mr42184818igd.11.1325183637245; Thu, 29 Dec 2011 10:33:57 -0800 (PST) Received: from localhost.localdomain (tbroch.mtv.corp.google.com [172.22.72.69]) by mx.google.com with ESMTPS id gf6sm80590137igb.1.2011.12.29.10.33.55 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 29 Dec 2011 10:33:56 -0800 (PST) From: Todd Broch To: nic_swsd@realtek.com Cc: Francois Romieu , netdev@vger.kernel.org, Todd Broch Subject: [PATCH] r8169: Enable suspend when device is idle from boot. Date: Thu, 29 Dec 2011 10:33:14 -0800 Message-Id: <1325183594-8947-1-git-send-email-tbroch@chromium.org> X-Mailer: git-send-email 1.7.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The r8169 driver supports power management and correctly transitions from active to suspend when link transitions from connected to disconnected. However, if link is not connected at boot the device remains active after the initial probe. This change adds a check of the link status to the idle pm_op that will schedule a suspend if inactive. Signed-off-by: Todd Broch --- drivers/net/ethernet/realtek/r8169.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 67bf078..3dbb5fd 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -6137,6 +6137,7 @@ static int rtl8169_runtime_idle(struct device *device) struct net_device *dev = pci_get_drvdata(pdev); struct rtl8169_private *tp = netdev_priv(dev); + __rtl8169_check_link_status(dev, tp, tp->mmio_addr, true); return tp->TxDescArray ? -EBUSY : 0; }