From patchwork Wed Jan 4 17:58:32 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: 9497119 X-Patchwork-Delegate: johannes@sipsolutions.net 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 22056606B4 for ; Wed, 4 Jan 2017 18:02:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 158A4280DE for ; Wed, 4 Jan 2017 18:02:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0960528179; Wed, 4 Jan 2017 18:02:56 +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 5D79C280DE for ; Wed, 4 Jan 2017 18:02:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935272AbdADSAc (ORCPT ); Wed, 4 Jan 2017 13:00:32 -0500 Received: from mail-lf0-f66.google.com ([209.85.215.66]:36436 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752126AbdADR7g (ORCPT ); Wed, 4 Jan 2017 12:59:36 -0500 Received: by mail-lf0-f66.google.com with SMTP id j75so1684462lfe.3; Wed, 04 Jan 2017 09:58:48 -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=VFUEL+2zhGgNClpalbQLF1b3rlcoGMqqjvrbYT+bxwE=; b=uM5WmOwuOKx9WuvV2Whtd51J71IVtyB0WYd5t8S5x0QLZvlGKZTsjpkyl2r915TwiE cLwiNIFRl9CiHWNxYGDym3Qt3J/brCcBirMkg6yQczc/RoZEJfvla3han5uuS+Pp2A1e I70VYavKM4RKfiD8VWn4tb7NRNmcbfauQtG6ZSeE+ThdMVVQe5PaO5aN8iPcCNWDbL64 Y+NCpQ1sbpYmgMPUwj3T/Qo1AQQf8kdBT98vElyK8eitja139GxM5MPFwjDz1ijXZMTP b5hY2PlEkiwEGxH7iHOGlbHUmg55/H5aaBL6uVWU6amvh/mVjnp6Yl/WGViS1TE6yUEQ yaTQ== 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=VFUEL+2zhGgNClpalbQLF1b3rlcoGMqqjvrbYT+bxwE=; b=DY3pTXZqLOikvPPlHmbVloMCHSxDxiLvxlir2+B0UQfyd8Bp4sdLUpcm3/rzev7WQs L2mA8fyh9XGbLnMqPob4Pqcwvi5J+rAxwPGBiv802aJ8557+h/kQHxlLaPxeoJRhpng/ hDF/YwdSf1yWRr0iUw3gbSWaz+aPYOKKLXzusBmkrvVlzFKirQRU1G71MVHrUtiHSUbi is2kT96UXNA/3elH/L/OjjI6yTJVkT+ZHmVXRrfHje01zRaUQkakgZ0yau3RkAWKERKs 4X0HZVAPXMyaHkJ9AT8ZaQZp5xa8NnQg0v144WWmBIpUyQHKrm1fOIsOXlqtYVbGeNCk Wk4g== X-Gm-Message-State: AIkVDXIZ/HjPF4upu2f2/3/KWB3SnS9qBBunf0RfQgoTMUmmHGoFNi3twkM4Tr2//+MwJg== X-Received: by 10.25.79.30 with SMTP id d30mr12757042lfb.38.1483552727938; Wed, 04 Jan 2017 09:58:47 -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 c78sm17694967lfc.39.2017.01.04.09.58.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Jan 2017 09:58:47 -0800 (PST) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: Johannes Berg , linux-wireless@vger.kernel.org Cc: Martin Blumenstingl , Felix Fietkau , Arend van Spriel , Arnd Bergmann , devicetree@vger.kernel.org, Rob Herring , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH V6 4/3] brcmfmac: use wiphy_read_of_freq_limits to respect extra limits Date: Wed, 4 Jan 2017 18:58:32 +0100 Message-Id: <20170104175832.25996-4-zajec5@gmail.com> X-Mailer: git-send-email 2.10.1 In-Reply-To: <20170104175832.25996-1-zajec5@gmail.com> References: <20170104175832.25996-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 There are some devices (e.g. Netgear R8000 home router) with one chipset model used for different radios, some of them limited to subbands. NVRAM entries don't contain any extra info on such limitations and firmware reports full list of channels to us. We need to store extra limitation info in DT to support such devices properly. Now there is a cfg80211 helper for reading such info use it in brcmfmac. This patch adds check for channel being disabled with orig_flags which is how this wiphy helper and wiphy_register work. Signed-off-by: Rafał Miłecki --- This patch should probably go through wireless-driver-next which is why it got weird number 4/3. I'm sending it just as a proof of concept. It was succesfully tested on SmartRG SR400ac with BCM43602. V4: Respect IEEE80211_CHAN_DISABLED in orig_flags V5: Update commit message V6: Call wiphy_read_of_freq_limits after brcmf_setup_wiphybands to make it work with helper setting "flags" instead of "orig_flags". --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index ccae3bb..a008ba5 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -5886,6 +5886,9 @@ static int brcmf_construct_chaninfo(struct brcmf_cfg80211_info *cfg, band->band); channel[index].hw_value = ch.control_ch_num; + if (channel->orig_flags & IEEE80211_CHAN_DISABLED) + continue; + /* assuming the chanspecs order is HT20, * HT40 upper, HT40 lower, and VHT80. */ @@ -6478,7 +6481,11 @@ static int brcmf_setup_wiphy(struct wiphy *wiphy, struct brcmf_if *ifp) } } err = brcmf_setup_wiphybands(wiphy); - return err; + if (err) + return err; + wiphy_read_of_freq_limits(wiphy); + + return 0; } static s32 brcmf_config_dongle(struct brcmf_cfg80211_info *cfg)