mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-03 09:41:54 +09:00
staging: rtl8192e: Simplify rtllib_process_probe_response()
- Extract frame_ctl once and use it as variable. - Drop endian conversion in is_beacon() function (used in simplified function only) - Simplify debug messages - Invert STYPE checks in debug messages - it is valid as only BEACON and PROBE_RESP are allowed Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c6a91aba25
commit
ad5c8e0586
@@ -2457,9 +2457,9 @@ static inline void update_network(struct rtllib_network *dst,
|
||||
dst->BssCcxVerNumber = src->BssCcxVerNumber;
|
||||
}
|
||||
|
||||
static inline int is_beacon(__le16 fc)
|
||||
static inline int is_beacon(u16 fc)
|
||||
{
|
||||
return (WLAN_FC_GET_STYPE(le16_to_cpu(fc)) == RTLLIB_STYPE_BEACON);
|
||||
return (WLAN_FC_GET_STYPE(fc) == RTLLIB_STYPE_BEACON);
|
||||
}
|
||||
|
||||
static int IsPassiveChannel(struct rtllib_device *rtllib, u8 channel)
|
||||
@@ -2500,6 +2500,7 @@ static inline void rtllib_process_probe_response(
|
||||
short renew;
|
||||
struct rtllib_network *network = kzalloc(sizeof(struct rtllib_network),
|
||||
GFP_ATOMIC);
|
||||
u16 frame_ctl = le16_to_cpu(beacon->header.frame_ctl);
|
||||
|
||||
if (!network)
|
||||
return;
|
||||
@@ -2528,12 +2529,9 @@ static inline void rtllib_process_probe_response(
|
||||
if (rtllib_network_init(ieee, beacon, network, stats)) {
|
||||
RTLLIB_DEBUG_SCAN("Dropped '%s' ( %pM) via %s.\n",
|
||||
escape_essid(info_element->data,
|
||||
info_element->len),
|
||||
beacon->header.addr3,
|
||||
WLAN_FC_GET_STYPE(
|
||||
le16_to_cpu(beacon->header.frame_ctl)) ==
|
||||
RTLLIB_STYPE_PROBE_RESP ?
|
||||
"PROBE RESPONSE" : "BEACON");
|
||||
info_element->len), beacon->header.addr3,
|
||||
is_beacon(frame_ctl) ? "BEACON" :
|
||||
"PROBE RESPONSE");
|
||||
goto free_network;
|
||||
}
|
||||
|
||||
@@ -2541,8 +2539,7 @@ static inline void rtllib_process_probe_response(
|
||||
if (!rtllib_legal_channel(ieee, network->channel))
|
||||
goto free_network;
|
||||
|
||||
if (WLAN_FC_GET_STYPE(le16_to_cpu(beacon->header.frame_ctl)) ==
|
||||
RTLLIB_STYPE_PROBE_RESP) {
|
||||
if (WLAN_FC_GET_STYPE(frame_ctl) == RTLLIB_STYPE_PROBE_RESP) {
|
||||
if (IsPassiveChannel(ieee, network->channel)) {
|
||||
netdev_info(ieee->dev,
|
||||
"GetScanInfo(): For Global Domain, filter probe response at channel(%d).\n",
|
||||
@@ -2575,7 +2572,7 @@ static inline void rtllib_process_probe_response(
|
||||
else
|
||||
ieee->current_network.buseprotection = false;
|
||||
}
|
||||
if (is_beacon(beacon->header.frame_ctl)) {
|
||||
if (is_beacon(frame_ctl)) {
|
||||
if (ieee->state >= RTLLIB_LINKED)
|
||||
ieee->LinkDetectInfo.NumRecvBcnInPeriod++;
|
||||
}
|
||||
@@ -2612,22 +2609,18 @@ static inline void rtllib_process_probe_response(
|
||||
RTLLIB_DEBUG_SCAN("Adding '%s' ( %pM) via %s.\n",
|
||||
escape_essid(network->ssid,
|
||||
network->ssid_len), network->bssid,
|
||||
WLAN_FC_GET_STYPE(
|
||||
le16_to_cpu(beacon->header.frame_ctl)) ==
|
||||
RTLLIB_STYPE_PROBE_RESP ?
|
||||
"PROBE RESPONSE" : "BEACON");
|
||||
is_beacon(frame_ctl) ? "BEACON" :
|
||||
"PROBE RESPONSE");
|
||||
memcpy(target, network, sizeof(*target));
|
||||
list_add_tail(&target->list, &ieee->network_list);
|
||||
if (ieee->softmac_features & IEEE_SOFTMAC_ASSOCIATE)
|
||||
rtllib_softmac_new_net(ieee, network);
|
||||
} else {
|
||||
RTLLIB_DEBUG_SCAN("Updating '%s' ( %pM) via %s.\n",
|
||||
escape_essid(target->ssid,
|
||||
target->ssid_len), target->bssid,
|
||||
WLAN_FC_GET_STYPE(
|
||||
le16_to_cpu(beacon->header.frame_ctl)) ==
|
||||
RTLLIB_STYPE_PROBE_RESP ?
|
||||
"PROBE RESPONSE" : "BEACON");
|
||||
escape_essid(target->ssid, target->ssid_len),
|
||||
target->bssid,
|
||||
is_beacon(frame_ctl) ? "BEACON" :
|
||||
"PROBE RESPONSE");
|
||||
|
||||
/* we have an entry and we are going to update it. But this
|
||||
* entry may be already expired. In this case we do the same
|
||||
@@ -2648,7 +2641,7 @@ static inline void rtllib_process_probe_response(
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&ieee->lock, flags);
|
||||
if (is_beacon(beacon->header.frame_ctl) &&
|
||||
if (is_beacon(frame_ctl) &&
|
||||
is_same_network(&ieee->current_network, network,
|
||||
(network->ssid_len ? 1 : 0)) &&
|
||||
(ieee->state == RTLLIB_LINKED)) {
|
||||
|
||||
Reference in New Issue
Block a user