From patchwork Tue Feb 21 09:47:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 9584177 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4CFB66042F for ; Tue, 21 Feb 2017 09:48:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 34A51285D1 for ; Tue, 21 Feb 2017 09:48:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 295ED288EE; Tue, 21 Feb 2017 09:48:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1328B288E4 for ; Tue, 21 Feb 2017 09:48:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751778AbdBUJsU (ORCPT ); Tue, 21 Feb 2017 04:48:20 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:33530 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751621AbdBUJsG (ORCPT ); Tue, 21 Feb 2017 04:48:06 -0500 Received: by mail-lf0-f67.google.com with SMTP id 86so4405445lfv.0; Tue, 21 Feb 2017 01:48:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7FXROKn0jCMbZK9IrkzQsAJp97yLKypC0AXWyy/v7XM=; b=jux/H7WtBKmlufX4P1YFHbrLuZ6wyAiccUT9BAWVQu0fKO2KlmtUKeV3byVGxu2gxl kFykPCwQ2WhkqdcU9nIQbw0AVV8OXqVHw7+SpVnfqtsY875b43ZIFnTBtBsKhMWpMJfl KaYRPu/7TPkNvuYXRjJOXIKIo6n77RzqXUfJf7Iq0Np4sQXEkrwqVKBjTEa54qz23HjF gcvE7H6xlldnrSrqH2C/4MhAKgpG9A3Crg4ywBdZkxiGzgpN+9trQBpGu5YoZmT8Lqof 0cfziCT7GeRj8pfel7X+JGp7mIhZtqoP5Ox2Gpp42wH4CBvFzvH7Lt+VwrgDSnh/RzZb IzrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7FXROKn0jCMbZK9IrkzQsAJp97yLKypC0AXWyy/v7XM=; b=Ts3ztofKqHq9Hen6XSSqSxRaVXHnaxPPyy+ujJ2S/0/OwiqPPUQ3804gNhYF5vCZ1j qJKSWqgkCWHKeuickWR8eKla9vqT0i71ebjLf3GhExK/EeE9186/hWdzmNLlJ3jdaEC8 8AVVG6Mk/xw2cGK4KpdsOSj/HuynyfjAmKTvwHIzygrz5fqGwHCxPuMlBnU43AGQYri4 sCyAt030H7CmI1hNyRCxb9syhLJpfetelNYejljM9nGceVp93kX9gEyqMnGgtHzjF6US d1bYjW0CbdcQmJZbkVDVayjxI6PdcztIHwcCBl4VUknS62KNrJbyXtIHQGNsVs3NEEoU JydA== X-Gm-Message-State: AMke39lX1v2n8zIsVK+r+YbnIJ6+nxgbmi1czIYpoNn4TOUoXYBY09nDlh5iwJAe2u3saA== X-Received: by 10.25.16.206 with SMTP id 75mr3685529lfq.81.1487670484465; Tue, 21 Feb 2017 01:48:04 -0800 (PST) Received: from linux-samsung.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id x28sm5923017ljd.60.2017.02.21.01.48.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Feb 2017 01:48:03 -0800 (PST) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Ming Lei , "Luis R . Rodriguez" , Greg KH , Linux Kernel Mailing List Cc: Kalle Valo , Arend van Spriel , linux-wireless@vger.kernel.org, brcm80211-dev-list.pdl@broadcom.com, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH V3 2/2] brcmfmac: don't warn user about NVRAM if fallback to platform one succeeds Date: Tue, 21 Feb 2017 10:47:54 +0100 Message-Id: <20170221094754.15406-2-zajec5@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170221094754.15406-1-zajec5@gmail.com> References: <20170216072636.7128-1-zajec5@gmail.com> <20170221094754.15406-1-zajec5@gmail.com> MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Rafał Miłecki Failing to load NVRAM file isn't critical if we manage to get platform one in the fallback path. It means warnings like: [ 10.801506] brcmfmac 0000:01:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.txt failed with error -2 are unnecessary & disturbing for people with platform NVRAM. This is very common case for Broadcom home routers. So instead of printing warning immediately with the firmware subsystem let's first try our fallback code. If that fails as well, then it's a right moment to print an error. This should reduce amount of false reports from users seeing this warning while having wireless working perfectly fine. Signed-off-by: Rafał Miłecki Acked-by: Arend van Spriel Acked-by: Kalle Valo --- V2: Update commit message as it wasn't clear enough (thanks Andy) & add extra messages to the firmware.c. V3: Set FW_OPT_UEVENT to don't change behavior Kalle, Arend: this patch is strictly related to the bigger 1/2. Could you ack this change as I expect this patchset to be picked by Ming, Luis or Greg? --- .../net/wireless/broadcom/brcm80211/brcmfmac/firmware.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c index c7c1e9906500..6dbcceff2529 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c @@ -462,8 +462,14 @@ static void brcmf_fw_request_nvram_done(const struct firmware *fw, void *ctx) raw_nvram = false; } else { data = bcm47xx_nvram_get_contents(&data_len); - if (!data && !(fwctx->flags & BRCMF_FW_REQ_NV_OPTIONAL)) - goto fail; + if (!data) { + brcmf_dbg(TRACE, "Failed to get platform NVRAM\n"); + if (!(fwctx->flags & BRCMF_FW_REQ_NV_OPTIONAL)) { + brcmf_err("Loading NVRAM from %s and using platform one both failed\n", + fwctx->nvram_name); + goto fail; + } + } raw_nvram = true; } @@ -504,9 +510,10 @@ static void brcmf_fw_request_code_done(const struct firmware *fw, void *ctx) return; } fwctx->code = fw; - ret = request_firmware_nowait(THIS_MODULE, true, fwctx->nvram_name, - fwctx->dev, GFP_KERNEL, fwctx, - brcmf_fw_request_nvram_done); + ret = request_firmware_async(THIS_MODULE, + FW_OPT_UEVENT | FW_OPT_NO_WARN, + fwctx->nvram_name, fwctx->dev, GFP_KERNEL, + fwctx, brcmf_fw_request_nvram_done); if (!ret) return;