All of lore.kernel.org
 help / color / mirror / Atom feed
* re: rtlwifi: fix broken VHT support
@ 2016-02-08 18:22 Dan Carpenter
  2016-02-08 19:52 ` Larry Finger
  0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2016-02-08 18:22 UTC (permalink / raw)
  To: Larry.Finger; +Cc: linux-wireless

Hello Larry Finger,

The patch d76d65fd2695: "rtlwifi: fix broken VHT support" from Feb 1,
2016, leads to the following static checker warning:

	drivers/net/wireless/realtek/rtlwifi/rc.c:144 _rtl_rc_rate_set_series()
	warn: impossible condition '(wireless_mode == 256) => (0-255 == 256)'

drivers/net/wireless/realtek/rtlwifi/rc.c
   135                  if (sgi_20 || sgi_40 || sgi_80)
   136                          rate->flags |= IEEE80211_TX_RC_SHORT_GI;
   137                  if (sta && sta->ht_cap.ht_supported &&
   138                      ((wireless_mode == WIRELESS_MODE_N_5G) ||
   139                       (wireless_mode == WIRELESS_MODE_N_24G)))
   140                          rate->flags |= IEEE80211_TX_RC_MCS;
   141                  if (sta && sta->vht_cap.vht_supported &&
   142                      (wireless_mode == WIRELESS_MODE_AC_5G ||
   143                       wireless_mode == WIRELESS_MODE_AC_24G ||
   144                       wireless_mode == WIRELESS_MODE_AC_ONLY))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Not possible.  sta_entry->wireless_mode is u8 and WIRELESS_MODE_AC_ONLY
is 0x100.

   145                          rate->flags |= IEEE80211_TX_RC_VHT_MCS;
   146          }
   147  }


regards,
dan carpenter

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [PATCH] rtlwifi: Fix warning from ieee80211_get_tx_rates() when using 5G
@ 2016-02-01 18:58 Larry Finger
  2016-02-06 10:59 ` rtlwifi: fix broken VHT support Kalle Valo
  0 siblings, 1 reply; 3+ messages in thread
From: Larry Finger @ 2016-02-01 18:58 UTC (permalink / raw)
  To: kvalo; +Cc: devel, linux-wireless, Larry Finger, Johannes Berg, Stable

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:
  <IRQ>  [<ffffffff813d7912>] dump_stack+0x4b/0x79
  [<ffffffff8106bcb6>] warn_slowpath_common+0x86/0xc0
  [<ffffffff8106bdaa>] warn_slowpath_null+0x1a/0x20
  [<ffffffffa05511ee>] ieee80211_get_tx_rates+0x22e/0x620 [mac80211]
  [<ffffffffa0782232>] ? rtl_is_special_data+0x32/0x240 [rtlwifi]
  [<ffffffffa055209e>] ? rate_control_get_rate+0xce/0x150 [mac80211]
  [<ffffffff810bfc7d>] ? trace_hardirqs_on+0xd/0x10
  [<ffffffff81071cc5>] ? __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 <torvalds@linux-foundation.org>
Tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Stable <stable@vger.kernel.org>
---

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;
 	}
 }
 
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-02-08 19:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-08 18:22 rtlwifi: fix broken VHT support Dan Carpenter
2016-02-08 19:52 ` Larry Finger
  -- strict thread matches above, loose matches on Subject: below --
2016-02-01 18:58 [PATCH] rtlwifi: Fix warning from ieee80211_get_tx_rates() when using 5G Larry Finger
2016-02-06 10:59 ` rtlwifi: fix broken VHT support Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.