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

Commit b57f9f34 authored by Glen Lee's avatar Glen Lee Committed by Greg Kroah-Hartman
Browse files

Revert "Staging: wilc1000: coreconfigurator: Drop unneeded wrapper functions"



The source and destination pointers are misplaced.
This will be like,
ether_addr_copy(data, bssid + ADDR2);
-> ether_addr_copy(bssid, data + ADDR2);
and also to use ether_addr_copy, it has to be proved that src/dst address are
properly aligned(2).

I revert this as author agree to drop this patch.

This reverts commit d4622f68.

Signed-off-by: default avatarGlen Lee <glen.lee@atmel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 819db468
Loading
Loading
Loading
Loading
+25 −23
Original line number Diff line number Diff line
@@ -13,12 +13,8 @@
#include "wilc_wlan.h"
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/etherdevice.h>
#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 {
@@ -175,32 +171,38 @@ 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 'data'    */
/* the 'from ds' bit, and updates the MAC Address in the allocated 'addr'    */
/* variable.                                                                 */
static inline void get_BSSID(u8 *data, u8 *bssid)
{
	if (get_from_ds(data) == 1)
		/*
		 * 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);
		get_address2(data, bssid);
	else if (get_to_ds(data) == 1)
		/*
		 * 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);
		get_address1(data, bssid);
	else
		/*
		 * 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);
		get_address3(data, bssid);
}

/* This function extracts the SSID from a beacon/probe response frame        */