From patchwork Mon Feb 1 18:58:54 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larry Finger X-Patchwork-Id: 8182921 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 7C9919F38B for ; Mon, 1 Feb 2016 18:59:15 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 8B1C0201DD for ; Mon, 1 Feb 2016 18:59:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 901AD2027D for ; Mon, 1 Feb 2016 18:59:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752623AbcBAS7L (ORCPT ); Mon, 1 Feb 2016 13:59:11 -0500 Received: from mail-ob0-f176.google.com ([209.85.214.176]:34650 "EHLO mail-ob0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752380AbcBAS7J (ORCPT ); Mon, 1 Feb 2016 13:59:09 -0500 Received: by mail-ob0-f176.google.com with SMTP id wb13so95011158obb.1; Mon, 01 Feb 2016 10:59:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id; bh=01QWIdKOPS1GYgwSoRlN813B0FRQBuf1CoKjiJXmj94=; b=eemtuLddJGliqERXkyHrztNl3fAlNrW1qwG+BtYLm4LcSmEP1Emwoe+dVtYm+mTLGk ICSLywoBjNv2GDj6h8K+XVcr91cLR49m5Q2l5A0fiMAyPFL4t3DVYoE4y2YZyCxjbRXx 2vj3UCHyAeCrTFXgxHzVDhxQgxsiz7PpayEpiUUOnj4M/K+OMfBpKjnO9c7+eN0I9m6s Gup5irKU29kr+YBi0S5GZGi2cCoC/XHntBVZP+lDymQakZpN4uD/63UjlRVrCCz+962l jVtLkEABk4PhdGx4IeeRjKXDQ+g9E1pdZx3pfgg67SeSsuc42f+rTfyQ9v0BTNYTffCp Q0nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=01QWIdKOPS1GYgwSoRlN813B0FRQBuf1CoKjiJXmj94=; b=VEiDkDC135YELOZQIRJnZolVlXQkyK8u4/UJoORTiXwAwvwwkoeqXEJELtVCO9G+qJ OMxmnMfU6AyhJ6Sdj4FxFJF/stbguHnBf/amPKTFORW10qutct3CnVMC6YjnzYcjQ1CH 1d4GCwYWL8M2m5KUJ+aN3YGTsg5Bzv/wu4vpUonMYoyjWehz6XlI3lw1Z0r7uvOkjeVS y7OhXi75EQbjTP01WJMeS+QrJwNpaGVk/xTVymFDcT/zIEIdBBZ+qOe0/hXlFtvPRfEt b0oiy4A2lj9wr4AOf8t2hNT6HUKPv04shCEclaJ57PPiErnpBC1JDeNsvPGE7SpuQAbP R6fA== X-Gm-Message-State: AG10YOTYA1rI6wRHaTiTwtdKekVCbBKlLSSNJfBM8DVeeeFgYWZMqUivea4Ki0j5x8dH0A== X-Received: by 10.60.70.34 with SMTP id j2mr16834764oeu.17.1454353148408; Mon, 01 Feb 2016 10:59:08 -0800 (PST) Received: from linux.site (cpe-24-31-249-175.kc.res.rr.com. [24.31.249.175]) by smtp.gmail.com with ESMTPSA id d31sm9811732oic.12.2016.02.01.10.59.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 01 Feb 2016 10:59:06 -0800 (PST) From: Larry Finger To: kvalo@codeaurora.org Cc: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org, Larry Finger , Johannes Berg , Stable Subject: [PATCH] rtlwifi: Fix warning from ieee80211_get_tx_rates() when using 5G Date: Mon, 1 Feb 2016 12:58:54 -0600 Message-Id: <1454353134-29939-1-git-send-email-Larry.Finger@lwfinger.net> X-Mailer: git-send-email 2.1.4 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP When using a 5G-capable device with VHT rates enabled, the following warning results: WARNING: CPU: 3 PID: 2253 at net/mac80211/rate.c:625 ieee80211_get_tx_rates+0x22e/0x620 [mac80211]() Modules linked in: rtl8821ae btcoexist rtl_pci rtlwifi fuse drbg ansi_cprng ctr ccm bnep bluetooth af_packet nfs fscache vboxpci(O) vboxnetadp(O) vboxne tflt(O) vboxdrv(O) arc4 snd_hda_codec_generic x86_pkg_temp_thermal rtsx_pci_sdmmc mmc_core rtsx_pci_ms kvm_intel memstick iwlmvm kvm mac80211 snd_hda_intel snd_hda_cod ec snd_hwdep snd_hda_core irqbypass snd_pcm iwlwifi crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 snd_timer lrw gf128mul glue_h elper ablk_helper cryptd snd cfg80211 pcspkr serio_raw e1000e rtsx_pci lpc_ich ptp xhci_pci mfd_core pps_core xhci_hcd soundcore toshiba_acpi thermal sparse_keymap wmi toshiba_bluetooth rfkill acpi_cpufreq battery ac processor dm_mod i915 i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm sr_mod cdrom video button sg autofs4 [last unloaded: rtlwifi] CPU: 3 PID: 2253 Comm: Timer Tainted: G W O 4.5.0-rc1-wl+ #79 Hardware name: TOSHIBA TECRA A50-A/TECRA A50-A, BIOS Version 4.20 04/17/2014 ffffffffa05c4be6 ffff8802262036d8 ffffffff813d7912 0000000000000000 ffff880226203710 ffffffff8106bcb6 ffff8800c6831300 ffff8800c6831330 0000000000000000 ffff8800c683133c ffff880065923638 ffff880226203720 Call Trace: [] dump_stack+0x4b/0x79 [] warn_slowpath_common+0x86/0xc0 [] warn_slowpath_null+0x1a/0x20 [] ieee80211_get_tx_rates+0x22e/0x620 [mac80211] [] ? rtl_is_special_data+0x32/0x240 [rtlwifi] [] ? rate_control_get_rate+0xce/0x150 [mac80211] [] ? trace_hardirqs_on+0xd/0x10 [] ? __local_bh_enable_ip+0x65/0xd0 --- traceback terminated here --- The problem is that IEEE80211_TX_RC_VHT_MCS is not set in the rate flags. Reported-by: Linus Torvalds Tested-by: Linus Torvalds Signed-off-by: Johannes Berg Signed-off-by: Larry Finger Cc: Stable --- Kalle, This patch should be pushed upstream to v4.5 as soon as possible. It fixes a serious bug. Thanks, Larry --- drivers/net/wireless/realtek/rtlwifi/rc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/wireless/realtek/rtlwifi/rc.c b/drivers/net/wireless/realtek/rtlwifi/rc.c index 74c14ce..28f7010 100644 --- a/drivers/net/wireless/realtek/rtlwifi/rc.c +++ b/drivers/net/wireless/realtek/rtlwifi/rc.c @@ -138,6 +138,11 @@ static void _rtl_rc_rate_set_series(struct rtl_priv *rtlpriv, ((wireless_mode == WIRELESS_MODE_N_5G) || (wireless_mode == WIRELESS_MODE_N_24G))) rate->flags |= IEEE80211_TX_RC_MCS; + if (sta && sta->vht_cap.vht_supported && + (wireless_mode == WIRELESS_MODE_AC_5G || + wireless_mode == WIRELESS_MODE_AC_24G || + wireless_mode == WIRELESS_MODE_AC_ONLY)) + rate->flags |= IEEE80211_TX_RC_VHT_MCS; } }