浏览代码

qcacmn: Update TDLS opclass correctly to FW

Due to change in Opclass calculation in the new
regulatory component invalid opclass is returned for the
TDLS component. Update arguments to calculate opclass correctly
to regulatory component.

Change-Id: I062bbb55d283f9525da241d32177e26d07aa8590
CRs-Fixed: 2325834
Bala Venkatesh 6 年之前
父节点
当前提交
a105eeecdb
共有 2 个文件被更改,包括 7 次插入5 次删除
  1. 6 4
      core/src/wlan_tdls_ct.c
  2. 1 1
      dispatcher/inc/wlan_tdls_public_structs.h

+ 6 - 4
core/src/wlan_tdls_ct.c

@@ -979,17 +979,19 @@ int tdls_set_tdls_secoffchanneloffset(struct tdls_soc_priv_obj *tdls_soc,
 
 	switch (offchanoffset) {
 	case TDLS_SEC_OFFCHAN_OFFSET_0:
-		tdls_soc->tdls_channel_offset = (1 << BW_20_OFFSET_BIT);
+		tdls_soc->tdls_channel_offset = BW20;
 		break;
 	case TDLS_SEC_OFFCHAN_OFFSET_40PLUS:
+		tdls_soc->tdls_channel_offset = BW40_LOW_PRIMARY;
+		break;
 	case TDLS_SEC_OFFCHAN_OFFSET_40MINUS:
-		tdls_soc->tdls_channel_offset = (1 << BW_40_OFFSET_BIT);
+		tdls_soc->tdls_channel_offset = BW40_LOW_PRIMARY;
 		break;
 	case TDLS_SEC_OFFCHAN_OFFSET_80:
-		tdls_soc->tdls_channel_offset = (1 << BW_80_OFFSET_BIT);
+		tdls_soc->tdls_channel_offset = BW80;
 		break;
 	case TDLS_SEC_OFFCHAN_OFFSET_160:
-		tdls_soc->tdls_channel_offset = (1 << BW_160_OFFSET_BIT);
+		tdls_soc->tdls_channel_offset = BWALL;
 		break;
 	default:
 		tdls_err("Invalid tdls secondary off channel offset %d",

+ 1 - 1
dispatcher/inc/wlan_tdls_public_structs.h

@@ -1140,7 +1140,7 @@ struct tdls_set_offchanmode {
  */
 struct tdls_set_secoffchanneloffset {
 	struct wlan_objmgr_vdev *vdev;
-	uint8_t offchan_offset;
+	int offchan_offset;
 	tdls_offchan_parms_callback callback;
 };