qcacld-3.0: Update RNR IE as per D1.5 specs
Update dot11f RNR IE definitions as per 11be draft 1.5 specification. Change-Id: I66aca72d021d2f13e51d92f226784b5f8d58f68d CRs-Fixed: 3210817
このコミットが含まれているのは:
@@ -2563,11 +2563,12 @@ IE reduced_neighbor_report (EID_RNR_IE)
|
||||
short_ssid, 4;
|
||||
bss_params, 1;
|
||||
psd_20mhz, 1;
|
||||
mld_id, 1;
|
||||
{
|
||||
mld_id: 8;
|
||||
link_id: 4;
|
||||
bss_param_change_cnt: 8;
|
||||
reserved: 12;
|
||||
all_updates_included: 1;
|
||||
reserved: 3;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@@ -27,7 +27,7 @@
|
||||
*
|
||||
*
|
||||
* This file was automatically generated by 'framesc'
|
||||
* Fri Jun 10 20:28:00 2022 from the following file(s):
|
||||
* Mon Jun 13 10:50:26 2022 from the following file(s):
|
||||
*
|
||||
* dot11f.frms
|
||||
*
|
||||
@@ -10216,10 +10216,11 @@ typedef struct sDot11fIEreduced_neighbor_report {
|
||||
uint32_t short_ssid;
|
||||
uint8_t bss_params;
|
||||
uint8_t psd_20mhz;
|
||||
uint32_t mld_id:8;
|
||||
uint32_t link_id:4;
|
||||
uint32_t bss_param_change_cnt:8;
|
||||
uint32_t reserved:12;
|
||||
uint8_t mld_id;
|
||||
uint16_t link_id:4;
|
||||
uint16_t bss_param_change_cnt:8;
|
||||
uint16_t all_updates_included:1;
|
||||
uint16_t reserved:3;
|
||||
} tbtt_info_16; /* tbtt_info_len = 16 */
|
||||
} tbtt_info;
|
||||
} tDot11fIEreduced_neighbor_report;
|
||||
@@ -10229,7 +10230,7 @@ typedef struct sDot11fIEreduced_neighbor_report {
|
||||
/* N.B. These #defines do *not* include the EID & length */
|
||||
#define DOT11F_IE_REDUCED_NEIGHBOR_REPORT_MIN_LEN (5)
|
||||
|
||||
#define DOT11F_IE_REDUCED_NEIGHBOR_REPORT_MAX_LEN (21)
|
||||
#define DOT11F_IE_REDUCED_NEIGHBOR_REPORT_MAX_LEN (20)
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@@ -25,7 +25,7 @@
|
||||
*
|
||||
*
|
||||
* This file was automatically generated by 'framesc'
|
||||
* Fri Jun 10 20:28:00 2022 from the following file(s):
|
||||
* Mon Jun 13 10:50:26 2022 from the following file(s):
|
||||
*
|
||||
* dot11f.frms
|
||||
*
|
||||
@@ -10087,7 +10087,7 @@ uint32_t dot11f_unpack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
|
||||
{
|
||||
uint32_t status = DOT11F_PARSE_SUCCESS;
|
||||
uint16_t tmp109__;
|
||||
uint32_t tmp110__;
|
||||
uint16_t tmp110__;
|
||||
(void) pBuf; (void)ielen; /* Shutup the compiler */
|
||||
if (pDst->present)
|
||||
return DOT11F_DUPLICATE_IE;
|
||||
@@ -10415,18 +10415,26 @@ uint32_t dot11f_unpack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
|
||||
pDst->tbtt_info.tbtt_info_16.psd_20mhz = *pBuf;
|
||||
pBuf += 1;
|
||||
ielen -= (uint8_t)1;
|
||||
if (unlikely(ielen < 4)) {
|
||||
if (unlikely(ielen < 1)) {
|
||||
pDst->present = 0;
|
||||
return DOT11F_INCOMPLETE_IE;
|
||||
}
|
||||
|
||||
framesntohl(pCtx, &tmp110__, pBuf, 0);
|
||||
pBuf += 4;
|
||||
ielen -= 4;
|
||||
pDst->tbtt_info.tbtt_info_16.mld_id = tmp110__ >> 0 & 0xff;
|
||||
pDst->tbtt_info.tbtt_info_16.link_id = tmp110__ >> 8 & 0xf;
|
||||
pDst->tbtt_info.tbtt_info_16.bss_param_change_cnt = tmp110__ >> 12 & 0xff;
|
||||
pDst->tbtt_info.tbtt_info_16.reserved = tmp110__ >> 20 & 0xfff;
|
||||
pDst->tbtt_info.tbtt_info_16.mld_id = *pBuf;
|
||||
pBuf += 1;
|
||||
ielen -= (uint8_t)1;
|
||||
if (unlikely(ielen < 2)) {
|
||||
pDst->present = 0;
|
||||
return DOT11F_INCOMPLETE_IE;
|
||||
}
|
||||
|
||||
framesntohs(pCtx, &tmp110__, pBuf, 0);
|
||||
pBuf += 2;
|
||||
ielen -= 2;
|
||||
pDst->tbtt_info.tbtt_info_16.link_id = tmp110__ >> 0 & 0xf;
|
||||
pDst->tbtt_info.tbtt_info_16.bss_param_change_cnt = tmp110__ >> 4 & 0xff;
|
||||
pDst->tbtt_info.tbtt_info_16.all_updates_included = tmp110__ >> 12 & 0x1;
|
||||
pDst->tbtt_info.tbtt_info_16.reserved = tmp110__ >> 13 & 0x7;
|
||||
break;
|
||||
}
|
||||
(void)pCtx;
|
||||
@@ -11000,7 +11008,7 @@ static const tIEDefn IES_AssocResponse[] = {
|
||||
4, DOT11F_EID_MBO_IE, 0, 0, },
|
||||
{ offsetof(tDot11fAssocResponse, reduced_neighbor_report),
|
||||
offsetof(tDot11fIEreduced_neighbor_report, present), 0,
|
||||
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report,
|
||||
"reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
|
||||
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
|
||||
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
|
||||
|
||||
@@ -11320,7 +11328,7 @@ static const tIEDefn IES_Beacon[] = {
|
||||
4, DOT11F_EID_QCN_IE, 0, 0, },
|
||||
{ offsetof(tDot11fBeacon, reduced_neighbor_report),
|
||||
offsetof(tDot11fIEreduced_neighbor_report, present), 0,
|
||||
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report,
|
||||
"reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
|
||||
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
|
||||
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
|
||||
|
||||
@@ -11569,7 +11577,7 @@ static const tIEDefn IES_Beacon2[] = {
|
||||
4, DOT11F_EID_QCN_IE, 0, 0, },
|
||||
{ offsetof(tDot11fBeacon2, reduced_neighbor_report),
|
||||
offsetof(tDot11fIEreduced_neighbor_report, present), 0,
|
||||
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report,
|
||||
"reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
|
||||
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
|
||||
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
|
||||
|
||||
@@ -11818,7 +11826,7 @@ static const tIEDefn IES_BeaconIEs[] = {
|
||||
4, DOT11F_EID_QCN_IE, 0, 0, },
|
||||
{ offsetof(tDot11fBeaconIEs, reduced_neighbor_report),
|
||||
offsetof(tDot11fIEreduced_neighbor_report, present), 0,
|
||||
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report,
|
||||
"reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
|
||||
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
|
||||
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
|
||||
|
||||
@@ -12495,7 +12503,7 @@ static const tIEDefn IES_ProbeResponse[] = {
|
||||
4, DOT11F_EID_QCN_IE, 0, 0, },
|
||||
{ offsetof(tDot11fProbeResponse, reduced_neighbor_report),
|
||||
offsetof(tDot11fIEreduced_neighbor_report, present), 0,
|
||||
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report,
|
||||
"reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
|
||||
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
|
||||
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
|
||||
|
||||
@@ -12936,7 +12944,7 @@ static const tIEDefn IES_ReAssocResponse[] = {
|
||||
4, DOT11F_EID_MBO_IE, 0, 0, },
|
||||
{ offsetof(tDot11fReAssocResponse, reduced_neighbor_report),
|
||||
offsetof(tDot11fIEreduced_neighbor_report, present), 0,
|
||||
"reduced_neighbor_report", 0, 7, 23, SigIereduced_neighbor_report,
|
||||
"reduced_neighbor_report", 0, 7, 22, SigIereduced_neighbor_report,
|
||||
{0, 0, 0, 0, 0}, 0, DOT11F_EID_REDUCED_NEIGHBOR_REPORT, 0, 0, },
|
||||
{0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, },};
|
||||
|
||||
@@ -17583,7 +17591,8 @@ uint32_t dot11f_get_packed_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
|
||||
*pnNeeded += 4;
|
||||
*pnNeeded += 1;
|
||||
*pnNeeded += 1;
|
||||
*pnNeeded += 4;
|
||||
*pnNeeded += 1;
|
||||
*pnNeeded += 2;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -29543,7 +29552,7 @@ uint32_t dot11f_pack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
|
||||
uint32_t nConsumedOnEntry = *pnConsumed;
|
||||
uint32_t nNeeded = 0U;
|
||||
uint16_t tmp220__;
|
||||
uint32_t tmp221__;
|
||||
uint16_t tmp221__;
|
||||
uint32_t status = DOT11F_PARSE_SUCCESS;
|
||||
status = dot11f_get_packed_ie_reduced_neighbor_report(pCtx, pSrc, &nNeeded);
|
||||
if (!DOT11F_SUCCEEDED(status))
|
||||
@@ -29698,18 +29707,21 @@ uint32_t dot11f_pack_ie_reduced_neighbor_report(tpAniSirGlobal pCtx,
|
||||
*pBuf = pSrc->tbtt_info.tbtt_info_16.psd_20mhz;
|
||||
*pnConsumed += 1;
|
||||
pBuf += 1;
|
||||
*pBuf = pSrc->tbtt_info.tbtt_info_16.mld_id;
|
||||
*pnConsumed += 1;
|
||||
pBuf += 1;
|
||||
tmp221__ = 0U;
|
||||
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.mld_id << 0);
|
||||
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.link_id << 8);
|
||||
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.bss_param_change_cnt << 12);
|
||||
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.reserved << 20);
|
||||
if (unlikely(nBuf < 4))
|
||||
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.link_id << 0);
|
||||
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.bss_param_change_cnt << 4);
|
||||
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.all_updates_included << 12);
|
||||
tmp221__ |= (pSrc->tbtt_info.tbtt_info_16.reserved << 13);
|
||||
if (unlikely(nBuf < 2))
|
||||
return DOT11F_INCOMPLETE_IE;
|
||||
|
||||
frameshtonl(pCtx, pBuf, tmp221__, 0);
|
||||
*pnConsumed += 4;
|
||||
frameshtons(pCtx, pBuf, tmp221__, 0);
|
||||
*pnConsumed += 2;
|
||||
/* fieldsEndFlag = 1 */
|
||||
nBuf -= 4 ;
|
||||
nBuf -= 2 ;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
新しいイシューから参照
ユーザーをブロックする