From patchwork Tue Jun 24 22:39:42 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Luis R. Rodriguez" X-Patchwork-Id: 363756 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 D3E1F1400A7 for ; Wed, 25 Jun 2014 08:40:53 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753712AbaFXWkD (ORCPT ); Tue, 24 Jun 2014 18:40:03 -0400 Received: from mail-pa0-f51.google.com ([209.85.220.51]:45556 "EHLO mail-pa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753282AbaFXWj7 (ORCPT ); Tue, 24 Jun 2014 18:39:59 -0400 Received: by mail-pa0-f51.google.com with SMTP id hz1so840869pad.10 for ; Tue, 24 Jun 2014 15:39:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=zp8kSTi9JrbOJMkBeUGLYROqcFNXGFMCyv1xvglHc8I=; b=I441oXaP0mILg1kGltwUi38onrhJMbvbfl/NuBzju10Yq9lS7/EGqfrhhTUlQopXPj PwQHve0nLbEonlI00zJW7+ESAq+nOJvUg9uazmFIOyz8RDD1gMcvKzKgjnZluCDxCUYl LQCTzDKB3wEzQ2bAmDpuOBT6vTnq9DHAwC163UJ61cDVuUYHWRHkQH06HQZTxL08Le40 kfbIUYpCEF3SXHHw8N0F2wYLlTLSEjNfEisF30YfrWi3YTx9b3ZwkoTKGU9q8RIDHllP rFqyogkRKGM/oeHU3lWUUtO10GpfrkEs0H4JcLSYsv4qA4xEui4Sur9w7Gm7bCv50xPF iyag== X-Received: by 10.68.133.163 with SMTP id pd3mr5606657pbb.166.1403649598807; Tue, 24 Jun 2014 15:39:58 -0700 (PDT) Received: from mcgrof@gmail.com (c-98-234-145-61.hsd1.ca.comcast.net. [98.234.145.61]) by mx.google.com with ESMTPSA id vx10sm7631624pac.17.2014.06.24.15.39.54 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 24 Jun 2014 15:39:57 -0700 (PDT) Received: by mcgrof@gmail.com (sSMTP sendmail emulation); Tue, 24 Jun 2014 15:39:53 -0700 From: "Luis R. Rodriguez" To: tiwai@suse.de, chunkeey@googlemail.com, leedom@chelsio.com, cocci@systeme.lip6.fr Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org, "Luis R. Rodriguez" , Philip Oswald , Santosh Rastapur , Jeffrey Cheung , David Chang , Hariprasad Shenai Subject: [PATCH 2/3] cxgb4: make configuration load use request_firmware_direct() Date: Tue, 24 Jun 2014 15:39:42 -0700 Message-Id: <1403649583-12707-3-git-send-email-mcgrof@do-not-panic.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1403649583-12707-1-git-send-email-mcgrof@do-not-panic.com> References: <1403649583-12707-1-git-send-email-mcgrof@do-not-panic.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: "Luis R. Rodriguez" cxgb4 uses request_firmware() 3 times, one for firmware, one for optional configuration files and another for ethtools flash. Since the configuration update is optional on devices that don't have a configuration file update it means we'd wait unnecessarily for the extra udev timeout, which by default is 60 seconds. Avoid this extra delay. This was found with the following SmPL patch. @ firmware_not_critical @ expression cf; expression config_file; expression dev; int ret; identifier l; statement S; @@ - ret = request_firmware(&cf, config_file, dev); + ret = request_firmware_direct(&cf, config_file, dev); if (ret < 0) { ... when != goto l; when != return ret; when any } else { ... release_firmware(cf); ... } Cc: Philip Oswald Cc: Santosh Rastapur Cc: Jeffrey Cheung Cc: David Chang Cc: Casey Leedom Cc: Hariprasad Shenai Cc: Takashi Iwai Cc: cocci@systeme.lip6.fr Signed-off-by: Luis R. Rodriguez --- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c index 02a0ebf..bd57177 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c @@ -4999,7 +4999,7 @@ static int adap_init0_config(struct adapter *adapter, int reset) goto bye; } - ret = request_firmware(&cf, fw_config_file, adapter->pdev_dev); + ret = request_firmware_direct(&cf, fw_config_file, adapter->pdev_dev); if (ret < 0) { config_name = "On FLASH"; mtype = FW_MEMTYPE_CF_FLASH;