Commit eb8329c6 authored by Claudiu Beznea's avatar Claudiu Beznea Committed by Greg Kroah-Hartman

Staging: rtl8188eu: removed unnecessary check in core/rtw_ap.c

This patch removes unnecessary "if (true)" check in update_BCNTIM()
from core/rtw_ap.c file. After this remove the code alignment was
necessary.
Signed-off-by: default avatarClaudiu Beznea <claudiu.beznea@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 61a95c8d
...@@ -76,90 +76,87 @@ static void update_BCNTIM(struct adapter *padapter) ...@@ -76,90 +76,87 @@ static void update_BCNTIM(struct adapter *padapter)
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
struct wlan_bssid_ex *pnetwork_mlmeext = &(pmlmeinfo->network); struct wlan_bssid_ex *pnetwork_mlmeext = &(pmlmeinfo->network);
unsigned char *pie = pnetwork_mlmeext->IEs; unsigned char *pie = pnetwork_mlmeext->IEs;
u8 *p, *dst_ie, *premainder_ie = NULL;
u8 *pbackup_remainder_ie = NULL;
uint offset, tmp_len, tim_ielen, tim_ie_offset, remainder_ielen;
/* update TIM IE */ /* update TIM IE */
if (true) { p = rtw_get_ie(pie + _FIXED_IE_LENGTH_, _TIM_IE_, &tim_ielen,
u8 *p, *dst_ie, *premainder_ie = NULL; pnetwork_mlmeext->IELength - _FIXED_IE_LENGTH_);
u8 *pbackup_remainder_ie = NULL; if (p != NULL && tim_ielen > 0) {
uint offset, tmp_len, tim_ielen, tim_ie_offset, remainder_ielen; tim_ielen += 2;
premainder_ie = p+tim_ielen;
p = rtw_get_ie(pie + _FIXED_IE_LENGTH_, _TIM_IE_, &tim_ielen, tim_ie_offset = (int)(p - pie);
pnetwork_mlmeext->IELength - _FIXED_IE_LENGTH_); remainder_ielen = pnetwork_mlmeext->IELength -
if (p != NULL && tim_ielen > 0) { tim_ie_offset - tim_ielen;
tim_ielen += 2; /* append TIM IE from dst_ie offset */
premainder_ie = p+tim_ielen; dst_ie = p;
tim_ie_offset = (int)(p - pie); } else {
remainder_ielen = pnetwork_mlmeext->IELength - tim_ielen = 0;
tim_ie_offset - tim_ielen;
/* append TIM IE from dst_ie offset */
dst_ie = p;
} else {
tim_ielen = 0;
/* calculate head_len */ /* calculate head_len */
offset = _FIXED_IE_LENGTH_; offset = _FIXED_IE_LENGTH_;
offset += pnetwork_mlmeext->Ssid.SsidLength + 2; offset += pnetwork_mlmeext->Ssid.SsidLength + 2;
/* get supported rates len */ /* get supported rates len */
p = rtw_get_ie(pie + _BEACON_IE_OFFSET_, p = rtw_get_ie(pie + _BEACON_IE_OFFSET_,
_SUPPORTEDRATES_IE_, &tmp_len, _SUPPORTEDRATES_IE_, &tmp_len,
(pnetwork_mlmeext->IELength - (pnetwork_mlmeext->IELength -
_BEACON_IE_OFFSET_)); _BEACON_IE_OFFSET_));
if (p != NULL) if (p != NULL)
offset += tmp_len+2; offset += tmp_len+2;
/* DS Parameter Set IE, len = 3 */ /* DS Parameter Set IE, len = 3 */
offset += 3; offset += 3;
premainder_ie = pie + offset; premainder_ie = pie + offset;
remainder_ielen = pnetwork_mlmeext->IELength - remainder_ielen = pnetwork_mlmeext->IELength -
offset - tim_ielen; offset - tim_ielen;
/* append TIM IE from offset */ /* append TIM IE from offset */
dst_ie = pie + offset; dst_ie = pie + offset;
} }
if (remainder_ielen > 0) { if (remainder_ielen > 0) {
pbackup_remainder_ie = rtw_malloc(remainder_ielen); pbackup_remainder_ie = rtw_malloc(remainder_ielen);
if (pbackup_remainder_ie && premainder_ie) if (pbackup_remainder_ie && premainder_ie)
memcpy(pbackup_remainder_ie, memcpy(pbackup_remainder_ie,
premainder_ie, remainder_ielen); premainder_ie, remainder_ielen);
} }
*dst_ie++ = _TIM_IE_; *dst_ie++ = _TIM_IE_;
if ((pstapriv->tim_bitmap&0xff00) && if ((pstapriv->tim_bitmap&0xff00) &&
(pstapriv->tim_bitmap&0x00fc)) (pstapriv->tim_bitmap&0x00fc))
tim_ielen = 5; tim_ielen = 5;
else else
tim_ielen = 4; tim_ielen = 4;
*dst_ie++ = tim_ielen; *dst_ie++ = tim_ielen;
*dst_ie++ = 0;/* DTIM count */ *dst_ie++ = 0;/* DTIM count */
*dst_ie++ = 1;/* DTIM period */ *dst_ie++ = 1;/* DTIM period */
if (pstapriv->tim_bitmap&BIT(0))/* for bc/mc frames */ if (pstapriv->tim_bitmap&BIT(0))/* for bc/mc frames */
*dst_ie++ = BIT(0);/* bitmap ctrl */ *dst_ie++ = BIT(0);/* bitmap ctrl */
else else
*dst_ie++ = 0; *dst_ie++ = 0;
if (tim_ielen == 4) { if (tim_ielen == 4) {
*dst_ie++ = pstapriv->tim_bitmap & 0xff; *dst_ie++ = pstapriv->tim_bitmap & 0xff;
} else if (tim_ielen == 5) { } else if (tim_ielen == 5) {
put_unaligned_le16(pstapriv->tim_bitmap, dst_ie); put_unaligned_le16(pstapriv->tim_bitmap, dst_ie);
dst_ie += 2; dst_ie += 2;
} }
/* copy remainder IE */ /* copy remainder IE */
if (pbackup_remainder_ie) { if (pbackup_remainder_ie) {
memcpy(dst_ie, pbackup_remainder_ie, remainder_ielen); memcpy(dst_ie, pbackup_remainder_ie, remainder_ielen);
kfree(pbackup_remainder_ie); kfree(pbackup_remainder_ie);
}
offset = (uint)(dst_ie - pie);
pnetwork_mlmeext->IELength = offset + remainder_ielen;
} }
offset = (uint)(dst_ie - pie);
pnetwork_mlmeext->IELength = offset + remainder_ielen;
set_tx_beacon_cmd(padapter); set_tx_beacon_cmd(padapter);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment