Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad5c8e05 authored by Mateusz Kulikowski's avatar Mateusz Kulikowski Committed by Greg Kroah-Hartman
Browse files

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: default avatarMateusz Kulikowski <mateusz.kulikowski@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c6a91aba
Loading
Loading
Loading
Loading
+15 −22
Original line number Diff line number Diff line
@@ -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)) {