linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: rtlwifi: fix broken VHT support
  2016-02-01 18:58 [PATCH] rtlwifi: Fix warning from ieee80211_get_tx_rates() when using 5G Larry Finger
@ 2016-02-06 10:59 ` Kalle Valo
  0 siblings, 0 replies; 3+ messages in thread
From: Kalle Valo @ 2016-02-06 10:59 UTC (permalink / raw)
  To: Larry Finger; +Cc: devel, linux-wireless, Larry Finger, Johannes Berg, Stable


> When using a 5G-capable device with VHT (802.11ac) rates enabled was not
> working (packets were not delivered) and the following mac80211 warning
> was printed:
> 
> 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>

Thanks, applied to wireless-drivers.git.

Kalle Valo

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

* 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

* Re: rtlwifi: fix broken VHT support
  2016-02-08 18:22 rtlwifi: fix broken VHT support Dan Carpenter
@ 2016-02-08 19:52 ` Larry Finger
  0 siblings, 0 replies; 3+ messages in thread
From: Larry Finger @ 2016-02-08 19:52 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-wireless

On 02/08/2016 12:22 PM, Dan Carpenter wrote:
> 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  }
>
>

Dan,

Thanks for the heads-up. Obviously, wireless_mode needs to be u16, but I will 
need some time to consider any side effects as the underlying variable in the 
private space is used by several of the rtlwifi family.

Larry



^ permalink raw reply	[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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).