linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] wireless: set correct mandatory rate flags
@ 2017-09-07 15:47 Richard Schütz
  2017-09-07 15:47 ` [PATCH 2/2] wireless: return correct mandatory rates Richard Schütz
                   ` (3 more replies)
  0 siblings, 4 replies; 20+ messages in thread
From: Richard Schütz @ 2017-09-07 15:47 UTC (permalink / raw)
  To: linux-wireless; +Cc: Richard Schütz

According to IEEE Std 802.11-2016 (16.2.3.4 Long PHY SIGNAL field) all of
the following rates are mandatory for a HR/DSSS PHY: 1 Mb/s, 2 Mb/s,
5.5 Mb/s and 11 Mb/s. Set IEEE80211_RATE_MANDATORY_B flag for all of these
instead of just 1 Mb/s to correctly reflect this.

Signed-off-by: Richard Schütz <rschuetz@uni-koblenz.de>
---
 net/wireless/util.c | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/net/wireless/util.c b/net/wireless/util.c
index bcb1284c3415..c69b5c31caf8 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -157,32 +157,28 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband)
 	case NL80211_BAND_2GHZ:
 		want = 7;
 		for (i = 0; i < sband->n_bitrates; i++) {
-			if (sband->bitrates[i].bitrate == 10) {
+			if (sband->bitrates[i].bitrate == 10 ||
+			    sband->bitrates[i].bitrate == 20 ||
+			    sband->bitrates[i].bitrate == 55 ||
+			    sband->bitrates[i].bitrate == 110) {
 				sband->bitrates[i].flags |=
 					IEEE80211_RATE_MANDATORY_B |
 					IEEE80211_RATE_MANDATORY_G;
 				want--;
+			} else {
+				sband->bitrates[i].flags |=
+					IEEE80211_RATE_ERP_G;
 			}
 
-			if (sband->bitrates[i].bitrate == 20 ||
-			    sband->bitrates[i].bitrate == 55 ||
-			    sband->bitrates[i].bitrate == 110 ||
-			    sband->bitrates[i].bitrate == 60 ||
+			if (sband->bitrates[i].bitrate == 60 ||
 			    sband->bitrates[i].bitrate == 120 ||
 			    sband->bitrates[i].bitrate == 240) {
 				sband->bitrates[i].flags |=
 					IEEE80211_RATE_MANDATORY_G;
 				want--;
 			}
-
-			if (sband->bitrates[i].bitrate != 10 &&
-			    sband->bitrates[i].bitrate != 20 &&
-			    sband->bitrates[i].bitrate != 55 &&
-			    sband->bitrates[i].bitrate != 110)
-				sband->bitrates[i].flags |=
-					IEEE80211_RATE_ERP_G;
 		}
-		WARN_ON(want != 0 && want != 3 && want != 6);
+		WARN_ON(want != 0 && want != 3);
 		break;
 	case NL80211_BAND_60GHZ:
 		/* check for mandatory HT MCS 1..4 */
-- 
2.14.1

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

end of thread, other threads:[~2018-01-30 10:47 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-07 15:47 [PATCH 1/2] wireless: set correct mandatory rate flags Richard Schütz
2017-09-07 15:47 ` [PATCH 2/2] wireless: return correct mandatory rates Richard Schütz
2017-09-08  6:55   ` Johannes Berg
2017-09-08  8:43     ` Richard Schütz
2017-09-08  8:53       ` Richard Schütz
2017-09-08  9:33         ` Simon Wunderlich
2017-09-08  9:03       ` Johannes Berg
2017-09-08 10:10         ` Richard Schütz
2017-09-08 10:12           ` Johannes Berg
2017-09-08 16:07   ` [PATCH v2 " Richard Schütz
2017-09-21 13:52     ` Johannes Berg
2017-09-22 10:09       ` Richard Schütz
2017-09-22 10:28         ` Johannes Berg
2017-09-08  6:54 ` [PATCH 1/2] wireless: set correct mandatory rate flags Johannes Berg
2017-09-08  8:43   ` Richard Schütz
2017-09-08  8:57     ` Johannes Berg
2017-09-21 13:49 ` Johannes Berg
2018-01-26 22:17 ` Matthias Schiffer
2018-01-30  7:43   ` Johannes Berg
2018-01-30 10:47     ` Matthias Schiffer

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).