Commit e23c009f authored by Ajay Singh's avatar Ajay Singh Committed by Greg Kroah-Hartman
Browse files

staging: wilc1000: refactor get_bssid() function



Refactor get_bssid() by making use of 'ieee80211_mgmt' struct. Instead
of passing the memory offset now using structure element to fetch the
bssid information.
Returning the pointer to bssid from get_bssid() instead of filing the
input argument.

Signed-off-by: default avatarAjay Singh <ajay.kathat@microchip.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 846b146c
Loading
Loading
Loading
Loading
+7 −22
Original line number Diff line number Diff line
@@ -8,29 +8,14 @@

#include "coreconfigurator.h"

static inline void get_address1(u8 *msa, u8 *addr)
static inline u8 *get_bssid(struct ieee80211_mgmt *mgmt)
{
	memcpy(addr, msa + 4, 6);
}

static inline void get_address2(u8 *msa, u8 *addr)
{
	memcpy(addr, msa + 10, 6);
}

static inline void get_address3(u8 *msa, u8 *addr)
{
	memcpy(addr, msa + 16, 6);
}

static inline void get_bssid(__le16 fc, u8 *data, u8 *bssid)
{
	if (ieee80211_has_fromds(fc))
		get_address2(data, bssid);
	else if (ieee80211_has_tods(fc))
		get_address1(data, bssid);
	if (ieee80211_has_fromds(mgmt->frame_control))
		return mgmt->sa;
	else if (ieee80211_has_tods(mgmt->frame_control))
		return mgmt->da;
	else
		get_address3(data, bssid);
		return mgmt->bssid;
}

static inline u16 get_asoc_status(u8 *data)
@@ -87,7 +72,7 @@ s32 wilc_parse_network_info(u8 *msg_buffer,
		return -EIO;
	}

	get_bssid(mgt->frame_control, msa, network_info->bssid);
	ether_addr_copy(network_info->bssid, get_bssid(mgt));

	ies = mgt->u.beacon.variable;
	ies_len = rx_len - offset;