From patchwork Tue Jun 24 22:39:41 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: 363757 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 E4F961400D5 for ; Wed, 25 Jun 2014 08:41:07 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753356AbaFXWjz (ORCPT ); Tue, 24 Jun 2014 18:39:55 -0400 Received: from mail-pb0-f49.google.com ([209.85.160.49]:36733 "EHLO mail-pb0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752895AbaFXWjy (ORCPT ); Tue, 24 Jun 2014 18:39:54 -0400 Received: by mail-pb0-f49.google.com with SMTP id rr13so816702pbb.36 for ; Tue, 24 Jun 2014 15:39:53 -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=hcv7so48ejU88NL/q/OL7kcDJo1KVUpHNTLJmHofkGc=; b=nyf9I56AfslTju578NXus/kM7ZwOrroyMoP4N4EuXAIiUxJxr6FbQ+sY2DyvpyxXJu aiYPZLfCANpGMZl9zztJzUm8JvkLOnXuRHOjmw34RkPY65JtnaSP07usByHDxAutPggP BnxzbUS3SvHsbgRof5efTW1rrYSICI6NyZGhtsR9SAfuqXqi+SUeX2DEI42GTeKMfsYg eWgvz2JeXQloeOwOkkbhSS3BJANxHufQ5ZYtMHA1d8sWHMP0MeEVptY9NGc6RUW0cToW 8M1i5edprKLtvhiAmXgoGWKM8Qx0KY1JX1qLmwhKxAtAAnb4EskN+GL1rU1N80P362Qh kKcQ== X-Received: by 10.68.104.66 with SMTP id gc2mr5722148pbb.17.1403649593552; Tue, 24 Jun 2014 15:39:53 -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 yv7sm7579457pac.33.2014.06.24.15.39.50 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 24 Jun 2014 15:39:52 -0700 (PDT) Received: by mcgrof@gmail.com (sSMTP sendmail emulation); Tue, 24 Jun 2014 15:39:49 -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" , Tony Olech , linux-mmc@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH 1/3] mmc: vub300: use request_firmware_direct() for pseudo code Date: Tue, 24 Jun 2014 15:39:41 -0700 Message-Id: <1403649583-12707-2-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" vub300 uses the request_firmware() API for downloading pseudo code twice and if this fails its not considered fatal. Avoid letting the request linger 60 seconds because of udev if one of the requests fails by explicitly skipping the udev helper. 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: Tony Olech Cc: linux-mmc@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: Takashi Iwai Cc: cocci@systeme.lip6.fr Signed-off-by: Luis R. Rodriguez --- drivers/mmc/host/vub300.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/vub300.c b/drivers/mmc/host/vub300.c index 4262296..15eeaff 100644 --- a/drivers/mmc/host/vub300.c +++ b/drivers/mmc/host/vub300.c @@ -1378,11 +1378,12 @@ static void download_offload_pseudocode(struct vub300_mmc_host *vub300) snprintf(vub300->vub_name + l, sizeof(vub300->vub_name) - l, ".bin"); dev_info(&vub300->udev->dev, "requesting offload firmware %s\n", vub300->vub_name); - retval = request_firmware(&fw, vub300->vub_name, &card->dev); + retval = request_firmware_direct(&fw, vub300->vub_name, &card->dev); if (retval < 0) { strncpy(vub300->vub_name, "vub_default.bin", sizeof(vub300->vub_name)); - retval = request_firmware(&fw, vub300->vub_name, &card->dev); + retval = request_firmware_direct(&fw, vub300->vub_name, + &card->dev); if (retval < 0) { strncpy(vub300->vub_name, "no SDIO offload firmware found",