Forráskód Böngészése

qcacmn: 5.9G channels should point to global opclass

Make 5.9G channels point to Global opclass because there is no support for
them in US opclass as per the current 802.11 spec(802.11ax D8).

Change-Id: I7278cb8f2dc8eb27d10f0d7834a13c0afd6fc668
CRs-Fixed: 2869445
Vignesh U 4 éve
szülő
commit
908d98d67e
1 módosított fájl, 10 hozzáadás és 1 törlés
  1. 10 1
      umac/regulatory/core/src/reg_opclass.c

+ 10 - 1
umac/regulatory/core/src/reg_opclass.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2020 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2021 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -547,6 +547,8 @@ void reg_freq_width_to_chan_op_class_auto(struct wlan_objmgr_pdev *pdev,
 		global_tbl_lookup = true;
 		if (chan_width == BW_40_MHZ)
 			behav_limit = BIT(BEHAV_NONE);
+	} else if (reg_is_5dot9_ghz_freq(pdev, freq)) {
+		global_tbl_lookup = true;
 	} else {
 		global_tbl_lookup = false;
 	}
@@ -761,6 +763,13 @@ qdf_freq_t reg_chan_opclass_to_freq_auto(uint8_t chan, uint8_t op_class,
 	if ((op_class >= MIN_6GHZ_OPER_CLASS) &&
 	    (op_class <= MAX_6GHZ_OPER_CLASS)) {
 		global_tbl_lookup = true;
+	} else {
+		qdf_freq_t freq = reg_chan_opclass_to_freq(chan,
+				op_class,
+				global_tbl_lookup);
+		if (freq)
+			return freq;
+		global_tbl_lookup = true;
 	}
 
 	return reg_chan_opclass_to_freq(chan, op_class, global_tbl_lookup);