diff --git a/drivers/staging/wilc1000/coreconfigurator.c b/drivers/staging/wilc1000/coreconfigurator.c index 427adfd295da..6dfe26d5ccc0 100644 --- a/drivers/staging/wilc1000/coreconfigurator.c +++ b/drivers/staging/wilc1000/coreconfigurator.c @@ -13,8 +13,12 @@ #include "wilc_wlan.h" #include #include +#include #define TAG_PARAM_OFFSET (MAC_HDR_LEN + TIME_STAMP_LEN + \ BEACON_INTERVAL_LEN + CAP_INFO_LEN) +#define ADDR1 4 +#define ADDR2 10 +#define ADDR3 16 /* Basic Frame Type Codes (2-bit) */ enum basic_frame_type { @@ -171,38 +175,32 @@ static inline u8 get_from_ds(u8 *header) return ((header[1] & 0x02) >> 1); } -/* This function extracts the MAC Address in 'address1' field of the MAC */ -/* header and updates the MAC Address in the allocated 'addr' variable. */ -static inline void get_address1(u8 *pu8msa, u8 *addr) -{ - memcpy(addr, pu8msa + 4, 6); -} - -/* This function extracts the MAC Address in 'address2' field of the MAC */ -/* header and updates the MAC Address in the allocated 'addr' variable. */ -static inline void get_address2(u8 *pu8msa, u8 *addr) -{ - memcpy(addr, pu8msa + 10, 6); -} - -/* This function extracts the MAC Address in 'address3' field of the MAC */ -/* header and updates the MAC Address in the allocated 'addr' variable. */ -static inline void get_address3(u8 *pu8msa, u8 *addr) -{ - memcpy(addr, pu8msa + 16, 6); -} - /* This function extracts the BSSID from the incoming WLAN packet based on */ -/* the 'from ds' bit, and updates the MAC Address in the allocated 'addr' */ +/* the 'from ds' bit, and updates the MAC Address in the allocated 'data' */ /* variable. */ static inline void get_BSSID(u8 *data, u8 *bssid) { if (get_from_ds(data) == 1) - get_address2(data, bssid); + /* + * Extract the MAC Address in 'address2' field of the MAC + * header and update the MAC Address in the allocated 'data' + * variable. + */ + ether_addr_copy(data, bssid + ADDR2); else if (get_to_ds(data) == 1) - get_address1(data, bssid); + /* + * Extract the MAC Address in 'address1' field of the MAC + * header and update the MAC Address in the allocated 'data' + * variable. + */ + ether_addr_copy(data, bssid + ADDR1); else - get_address3(data, bssid); + /* + * Extract the MAC Address in 'address3' field of the MAC + * header and update the MAC Address in the allocated 'data' + * variable. + */ + ether_addr_copy(data, bssid + ADDR3); } /* This function extracts the SSID from a beacon/probe response frame */