Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1004938yba; Thu, 4 Apr 2019 02:13:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqzrXOUHT2H+OlJh8gjC/IYArlNSAFnoSAZM6W3Rz2QAfTUwStjD9fKrbWcaDs4WdevhRqpR X-Received: by 2002:a17:902:f01:: with SMTP id 1mr5151424ply.41.1554369196042; Thu, 04 Apr 2019 02:13:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554369196; cv=none; d=google.com; s=arc-20160816; b=pip2RFzoHQt9GR2UuTOelOK1kFyKMIshy7mFs0xhXdclOOVsuAWEdJJkQXIIoZshEV ezsj+YaCBEQULR5ja2HPXjsKIbbG1gaymnuJhHSNuugeSgHjDt0tQfUTVKWaZejFHPRk Zs+VDtLZUHSO3n2L67he3eAexnPLxDkw2QPZ96fvXKgCE+Irjb+3rtps9VsP3VRShgfN dwMe6bYhnSwqnauXK4ICBu90Fg2BbVBDw2J04bXVXHr1BfI+l1ZUeNPc5vS+BdJF3ubl hujCBEUhHcmpZPS8Olp/9uAZv2d88HWPwYcz8aaFXyGYh9sQmgneQ4/61fE+yRbigqSF hc9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=+dKZw1aXs7+ZLJZherA6cA4BwrFLvVWJ3QzJ2SoNv1g=; b=x2dRaBBJYO2Rxm802Kg1uExHJfn07abJg2YCWF1CXnJvQfIiIS33ls+A5rNWI8laRF 4A+fGdvrKsLG2WqkzjQK5dTLmnQgF76pwR5q7ao+/wDaUUPYZ0TnB+2+R6I2TVWDriOz 2q89T8eb/G/AO5qNi/3C+2WetMCx5yxKle/5kuOcfLAlSs0LsuVygxy3lRIDhjyteyY1 LgOOqpnsAL9jNjnXx4ecHyUrFSR6THp9q+igArJu2tRQG9YicAWgRI+vKhfhZ+LXF4M4 OXf8E/O3zAoqaPvfx79ISKdRhDdFRhsFwvPpfrM2rDMPiFEYOzAFv5ECWeUOA04dOyRk SICg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=1v26CSrU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v9si15429951pgr.462.2019.04.04.02.13.01; Thu, 04 Apr 2019 02:13:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=1v26CSrU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733298AbfDDJMS (ORCPT + 99 others); Thu, 4 Apr 2019 05:12:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:52246 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733093AbfDDJMP (ORCPT ); Thu, 4 Apr 2019 05:12:15 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 08A222184B; Thu, 4 Apr 2019 09:12:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1554369133; bh=Ly8bQufKb8c0UHYq+OnvJwcaZ+rZ56Cmqiuo/93vuz4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1v26CSrUSvS7Wd2UbJUUOi5GXT50Ks74DetZoYO6AVBm1L3FnpZD7Uny4ISEKPKmS Pc91j1mSatDmPnrNuyZv04e2gLpGnNebnpZcRKruJ56t7euEoYcRV+mwQEhxPYf/m3 MXOJmI4eoVoWJwAC1ersYJOC/NKbwCZjckVqZ1e4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Brian Norris , Kalle Valo , Sasha Levin Subject: [PATCH 5.0 109/246] mwifiex: dont advertise IBSS features without FW support Date: Thu, 4 Apr 2019 10:46:49 +0200 Message-Id: <20190404084622.965274498@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190404084619.236418459@linuxfoundation.org> References: <20190404084619.236418459@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 5.0-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 6f21ab30469d670de620f758330aca9f3433f693 ] As it is, doing something like # iw phy phy0 interface add foobar type ibss on a firmware that doesn't have ad-hoc support just yields failures of HostCmd_CMD_SET_BSS_MODE, which happened to return a '-1' error code (-EPERM? not really right...) and sometimes may even crash the firmware along the way. Let's parse the firmware capability flag while registering the wiphy, so we don't allow attempting IBSS at all, and we get a proper -EOPNOTSUPP from nl80211 instead. Fixes: e267e71e68ae ("mwifiex: Disable adhoc feature based on firmware capability") Signed-off-by: Brian Norris Signed-off-by: Kalle Valo Signed-off-by: Sasha Levin --- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index 1467af22e394..883752f640b4 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -4310,11 +4310,13 @@ int mwifiex_register_cfg80211(struct mwifiex_adapter *adapter) wiphy->mgmt_stypes = mwifiex_mgmt_stypes; wiphy->max_remain_on_channel_duration = 5000; wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | - BIT(NL80211_IFTYPE_ADHOC) | BIT(NL80211_IFTYPE_P2P_CLIENT) | BIT(NL80211_IFTYPE_P2P_GO) | BIT(NL80211_IFTYPE_AP); + if (ISSUPP_ADHOC_ENABLED(adapter->fw_cap_info)) + wiphy->interface_modes |= BIT(NL80211_IFTYPE_ADHOC); + wiphy->bands[NL80211_BAND_2GHZ] = &mwifiex_band_2ghz; if (adapter->config_bands & BAND_A) wiphy->bands[NL80211_BAND_5GHZ] = &mwifiex_band_5ghz; @@ -4374,11 +4376,13 @@ int mwifiex_register_cfg80211(struct mwifiex_adapter *adapter) wiphy->available_antennas_tx = BIT(adapter->number_of_antenna) - 1; wiphy->available_antennas_rx = BIT(adapter->number_of_antenna) - 1; - wiphy->features |= NL80211_FEATURE_HT_IBSS | - NL80211_FEATURE_INACTIVITY_TIMER | + wiphy->features |= NL80211_FEATURE_INACTIVITY_TIMER | NL80211_FEATURE_LOW_PRIORITY_SCAN | NL80211_FEATURE_NEED_OBSS_SCAN; + if (ISSUPP_ADHOC_ENABLED(adapter->fw_cap_info)) + wiphy->features |= NL80211_FEATURE_HT_IBSS; + if (ISSUPP_RANDOM_MAC(adapter->fw_cap_info)) wiphy->features |= NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR | NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR | -- 2.19.1