staging: brcm80211: last nail into proto/ethernet.h
cleaned up last artifacts used from proto/ethernet.h and subsequently the file can be removed. Reviewed-by: Brett Rudley <brudley@broadcom.com> Reviewed-by: Henry Ptasinski <henryp@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Dowan Kim <dowan@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
1e6610862c
commit
a44d42367f
27 changed files with 122 additions and 159 deletions
|
@ -95,8 +95,8 @@ typedef struct dhd_pub {
|
|||
/* Dongle media info */
|
||||
bool iswl; /* Dongle-resident driver is wl */
|
||||
unsigned long drv_version; /* Version of dongle-resident driver */
|
||||
struct ether_addr mac; /* MAC address obtained from dongle */
|
||||
dngl_stats_t dstats; /* Stats for dongle-based data */
|
||||
u8 mac[ETH_ALEN]; /* MAC address obtained from dongle */
|
||||
dngl_stats_t dstats; /* Stats for dongle-based data */
|
||||
|
||||
/* Additional stats for the bus level */
|
||||
unsigned long tx_packets; /* Data packets sent to dongle */
|
||||
|
|
|
@ -477,7 +477,7 @@ int dhd_prot_init(dhd_pub_t *dhd)
|
|||
dhd_os_proto_unblock(dhd);
|
||||
return ret;
|
||||
}
|
||||
memcpy(dhd->mac.octet, buf, ETH_ALEN);
|
||||
memcpy(dhd->mac, buf, ETH_ALEN);
|
||||
|
||||
dhd_os_proto_unblock(dhd);
|
||||
|
||||
|
|
|
@ -599,7 +599,7 @@ static void wl_show_host_event(wl_event_msg_t *event, void *event_data)
|
|||
auth_type = ntoh32(event->auth_type);
|
||||
datalen = ntoh32(event->datalen);
|
||||
/* debug dump of event messages */
|
||||
sprintf(eabuf, "%pM", event->addr.octet);
|
||||
sprintf(eabuf, "%pM", event->addr);
|
||||
|
||||
event_name = "UNKNOWN";
|
||||
for (i = 0; i < ARRAY_SIZE(event_names); i++) {
|
||||
|
@ -1242,7 +1242,7 @@ int dhd_preinit_ioctls(dhd_pub_t *dhd)
|
|||
int scan_unassoc_time = 40;
|
||||
#ifdef GET_CUSTOM_MAC_ENABLE
|
||||
int ret = 0;
|
||||
struct ether_addr ea_addr;
|
||||
u8 ea_addr[ETH_ALEN];
|
||||
#endif /* GET_CUSTOM_MAC_ENABLE */
|
||||
|
||||
dhd_os_proto_block(dhd);
|
||||
|
@ -1254,9 +1254,9 @@ int dhd_preinit_ioctls(dhd_pub_t *dhd)
|
|||
** firmware but unique per board mac address maybe provided by
|
||||
** customer code
|
||||
*/
|
||||
ret = dhd_custom_get_mac_address(ea_addr.octet);
|
||||
ret = dhd_custom_get_mac_address(ea_addr);
|
||||
if (!ret) {
|
||||
bcm_mkiovar("cur_etheraddr", (void *)&ea_addr, ETH_ALEN,
|
||||
bcm_mkiovar("cur_etheraddr", (void *)ea_addr, ETH_ALEN,
|
||||
buf, sizeof(buf));
|
||||
ret = dhdcdc_set_ioctl(dhd, 0, WLC_SET_VAR, buf, sizeof(buf));
|
||||
if (ret < 0) {
|
||||
|
|
|
@ -149,9 +149,9 @@ int dhd_custom_get_mac_address(unsigned char *buf)
|
|||
#ifdef EXAMPLE_GET_MAC
|
||||
/* EXAMPLE code */
|
||||
{
|
||||
struct ether_addr ea_example = {
|
||||
u8 ea_example[ETH_ALEN] = {
|
||||
{0x00, 0x11, 0x22, 0x33, 0x44, 0xFF} };
|
||||
bcopy((char *)&ea_example, buf, sizeof(struct ether_addr));
|
||||
bcopy((char *)ea_example, buf, ETH_ALEN);
|
||||
}
|
||||
#endif /* EXAMPLE_GET_MAC */
|
||||
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
#include <bcmutils.h>
|
||||
#include <bcmendian.h>
|
||||
|
||||
#include <proto/ethernet.h>
|
||||
#include <dngl_stats.h>
|
||||
#include <dhd.h>
|
||||
#include <dhd_bus.h>
|
||||
|
@ -248,7 +247,7 @@ typedef struct dhd_info {
|
|||
struct semaphore sysioc_sem;
|
||||
bool set_multicast;
|
||||
bool set_macaddress;
|
||||
struct ether_addr macvalue;
|
||||
u8 macvalue[ETH_ALEN];
|
||||
wait_queue_head_t ctrl_wait;
|
||||
atomic_t pend_8021x_cnt;
|
||||
|
||||
|
@ -804,7 +803,7 @@ static void _dhd_set_multicast_list(dhd_info_t *dhd, int ifidx)
|
|||
}
|
||||
|
||||
static int
|
||||
_dhd_set_mac_address(dhd_info_t *dhd, int ifidx, struct ether_addr *addr)
|
||||
_dhd_set_mac_address(dhd_info_t *dhd, int ifidx, u8 *addr)
|
||||
{
|
||||
char buf[32];
|
||||
wl_ioctl_t ioc;
|
||||
|
@ -977,7 +976,7 @@ static int _dhd_sysioc_thread(void *data)
|
|||
if (dhd->set_macaddress) {
|
||||
dhd->set_macaddress = false;
|
||||
_dhd_set_mac_address(dhd, i,
|
||||
&dhd->macvalue);
|
||||
dhd->macvalue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1867,7 +1866,7 @@ static int dhd_open(struct net_device *net)
|
|||
}
|
||||
atomic_set(&dhd->pend_8021x_cnt, 0);
|
||||
|
||||
memcpy(net->dev_addr, dhd->pub.mac.octet, ETH_ALEN);
|
||||
memcpy(net->dev_addr, dhd->pub.mac, ETH_ALEN);
|
||||
|
||||
#ifdef TOE
|
||||
/* Get current TOE mode from dongle */
|
||||
|
@ -2300,7 +2299,7 @@ int dhd_net_attach(dhd_pub_t *dhdp, int ifidx)
|
|||
*/
|
||||
if (ifidx != 0) {
|
||||
/* for virtual interfaces use the primary MAC */
|
||||
memcpy(temp_addr, dhd->pub.mac.octet, ETH_ALEN);
|
||||
memcpy(temp_addr, dhd->pub.mac, ETH_ALEN);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
|
||||
static struct sdio_func *cfg80211_sdio_func;
|
||||
static struct wl_dev *wl_cfg80211_dev;
|
||||
static const u8 ether_bcast[ETH_ALEN] = {255, 255, 255, 255, 255, 255};
|
||||
|
||||
u32 wl_dbg_level = WL_DBG_ERR | WL_DBG_INFO;
|
||||
|
||||
|
@ -647,7 +648,7 @@ wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
|
|||
|
||||
static void wl_iscan_prep(struct wl_scan_params *params, struct wlc_ssid *ssid)
|
||||
{
|
||||
memcpy(¶ms->bssid, ðer_bcast, ETH_ALEN);
|
||||
memcpy(params->bssid, ether_bcast, ETH_ALEN);
|
||||
params->bss_type = DOT11_BSSTYPE_ANY;
|
||||
params->scan_type = 0;
|
||||
params->nprobes = -1;
|
||||
|
@ -1372,7 +1373,7 @@ wl_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev,
|
|||
memcpy(&join_params.ssid.SSID, sme->ssid, join_params.ssid.SSID_len);
|
||||
join_params.ssid.SSID_len = htod32(join_params.ssid.SSID_len);
|
||||
wl_update_prof(wl, NULL, &join_params.ssid, WL_PROF_SSID);
|
||||
memcpy(&join_params.params.bssid, ðer_bcast, ETH_ALEN);
|
||||
memcpy(join_params.params.bssid, ether_bcast, ETH_ALEN);
|
||||
|
||||
wl_ch_to_chanspec(wl->channel, &join_params, &join_params_size);
|
||||
WL_DBG("join_param_size %d\n", join_params_size);
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
#include <linux/wireless.h>
|
||||
#include <linux/wireless.h>
|
||||
#include <net/cfg80211.h>
|
||||
#include <proto/ethernet.h>
|
||||
#include <wlioctl.h>
|
||||
|
||||
struct wl_conf;
|
||||
|
@ -316,7 +315,7 @@ struct wl_priv {
|
|||
cfg80211 layer */
|
||||
struct wl_ie ie; /* information element object for
|
||||
internal purpose */
|
||||
struct ether_addr bssid; /* bssid of currently engaged network */
|
||||
u8 bssid[ETH_ALEN]; /* bssid of currently engaged network */
|
||||
struct semaphore event_sync; /* for synchronization of main event
|
||||
thread */
|
||||
struct wl_profile *profile; /* holding dongle profile */
|
||||
|
|
|
@ -135,6 +135,9 @@ typedef struct iscan_info {
|
|||
int iscan_ex_param_size;
|
||||
} iscan_info_t;
|
||||
iscan_info_t *g_iscan;
|
||||
|
||||
static const u8 ether_bcast[ETH_ALEN] = {255, 255, 255, 255, 255, 255};
|
||||
|
||||
static void wl_iw_timerfunc(unsigned long data);
|
||||
static void wl_iw_set_event_mask(struct net_device *dev);
|
||||
static int wl_iw_iscan(iscan_info_t *iscan, wlc_ssid_t *ssid, u16 action);
|
||||
|
@ -688,7 +691,7 @@ wl_iw_set_spy(struct net_device *dev,
|
|||
|
||||
iw->spy_num = min_t(int, ARRAY_SIZE(iw->spy_addr), dwrq->length);
|
||||
for (i = 0; i < iw->spy_num; i++)
|
||||
memcpy(&iw->spy_addr[i], addr[i].sa_data, ETH_ALEN);
|
||||
memcpy(iw->spy_addr[i], addr[i].sa_data, ETH_ALEN);
|
||||
memset(iw->spy_qual, 0, sizeof(iw->spy_qual));
|
||||
|
||||
return 0;
|
||||
|
@ -710,7 +713,7 @@ wl_iw_get_spy(struct net_device *dev,
|
|||
|
||||
dwrq->length = iw->spy_num;
|
||||
for (i = 0; i < iw->spy_num; i++) {
|
||||
memcpy(addr[i].sa_data, &iw->spy_addr[i], ETH_ALEN);
|
||||
memcpy(addr[i].sa_data, iw->spy_addr[i], ETH_ALEN);
|
||||
addr[i].sa_family = AF_UNIX;
|
||||
memcpy(&qual[i], &iw->spy_qual[i], sizeof(struct iw_quality));
|
||||
iw->spy_qual[i].updated = 0;
|
||||
|
@ -1013,7 +1016,7 @@ static int wl_iw_iscan_prep(wl_scan_params_t *params, wlc_ssid_t *ssid)
|
|||
{
|
||||
int err = 0;
|
||||
|
||||
memcpy(¶ms->bssid, ðer_bcast, ETH_ALEN);
|
||||
memcpy(params->bssid, ether_bcast, ETH_ALEN);
|
||||
params->bss_type = DOT11_BSSTYPE_ANY;
|
||||
params->scan_type = 0;
|
||||
params->nprobes = -1;
|
||||
|
@ -1917,7 +1920,7 @@ wl_iw_set_essid(struct net_device *dev,
|
|||
|
||||
memcpy(&join_params.ssid.SSID, g_ssid.SSID, g_ssid.SSID_len);
|
||||
join_params.ssid.SSID_len = htod32(g_ssid.SSID_len);
|
||||
memcpy(&join_params.params.bssid, ðer_bcast, ETH_ALEN);
|
||||
memcpy(join_params.params.bssid, ether_bcast, ETH_ALEN);
|
||||
|
||||
wl_iw_ch_to_chanspec(g_wl_iw_params.target_channel, &join_params,
|
||||
&join_params_size);
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
#include <linux/wireless.h>
|
||||
|
||||
#include <proto/ethernet.h>
|
||||
#include <wlioctl.h>
|
||||
|
||||
#define WL_SCAN_PARAMS_SSID_MAX 10
|
||||
|
@ -92,7 +91,7 @@ typedef struct wl_iw {
|
|||
u32 gwsec;
|
||||
bool privacy_invoked;
|
||||
|
||||
struct ether_addr spy_addr[IW_MAX_SPY];
|
||||
u8 spy_addr[IW_MAX_SPY][ETH_ALEN];
|
||||
struct iw_quality spy_qual[IW_MAX_SPY];
|
||||
void *wlinfo;
|
||||
dhd_pub_t *pub;
|
||||
|
|
|
@ -86,13 +86,6 @@
|
|||
/* fn(pkt, arg). return true if pkt belongs to if */
|
||||
typedef bool(*ifpkt_cb_t) (void *, int);
|
||||
|
||||
/* forward definition of ether_addr structure used by some function prototypes */
|
||||
|
||||
struct ether_addr;
|
||||
|
||||
extern int ether_isbcast(const void *ea);
|
||||
extern int ether_isnulladdr(const void *ea);
|
||||
|
||||
/* operations on a specific precedence in packet queue */
|
||||
|
||||
#define pktq_psetmax(pq, prec, _max) ((pq)->q[prec].max = (_max))
|
||||
|
@ -157,7 +150,7 @@ extern struct sk_buff *pktq_mdeq(struct pktq *pq, uint prec_bmp, int *prec_out);
|
|||
extern uint pkttotlen(struct osl_info *osh, struct sk_buff *p);
|
||||
|
||||
/* ethernet address */
|
||||
extern int bcm_ether_atoe(char *p, struct ether_addr *ea);
|
||||
extern int bcm_ether_atoe(char *p, u8 *ea);
|
||||
|
||||
/* ip address */
|
||||
struct ipv4_addr;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#ifndef _802_11_H_
|
||||
#define _802_11_H_
|
||||
|
||||
#include <proto/ethernet.h>
|
||||
#include <linux/if_ether.h>
|
||||
|
||||
#define DOT11_A3_HDR_LEN 24
|
||||
#define DOT11_A4_HDR_LEN 30
|
||||
|
@ -47,18 +47,18 @@
|
|||
struct dot11_header {
|
||||
u16 fc;
|
||||
u16 durid;
|
||||
struct ether_addr a1;
|
||||
struct ether_addr a2;
|
||||
struct ether_addr a3;
|
||||
u8 a1[ETH_ALEN];
|
||||
u8 a2[ETH_ALEN];
|
||||
u8 a3[ETH_ALEN];
|
||||
u16 seq;
|
||||
struct ether_addr a4;
|
||||
u8 a4[ETH_ALEN];
|
||||
} __attribute__((packed));
|
||||
|
||||
struct dot11_rts_frame {
|
||||
u16 fc;
|
||||
u16 durid;
|
||||
struct ether_addr ra;
|
||||
struct ether_addr ta;
|
||||
u8 ra[ETH_ALEN];
|
||||
u8 ta[ETH_ALEN];
|
||||
} __attribute__((packed));
|
||||
|
||||
#define DOT11_RTS_LEN 16
|
||||
|
@ -71,9 +71,9 @@ struct dot11_rts_frame {
|
|||
struct dot11_management_header {
|
||||
u16 fc;
|
||||
u16 durid;
|
||||
struct ether_addr da;
|
||||
struct ether_addr sa;
|
||||
struct ether_addr bssid;
|
||||
u8 da[ETH_ALEN];
|
||||
u8 sa[ETH_ALEN];
|
||||
u8 bssid[ETH_ALEN];
|
||||
u16 seq;
|
||||
} __attribute__((packed));
|
||||
#define DOT11_MGMT_HDR_LEN 24
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
#ifndef _BCMEVENT_H_
|
||||
#define _BCMEVENT_H_
|
||||
|
||||
#include <linux/if_ether.h>
|
||||
|
||||
#define BCM_EVENT_MSG_VERSION 1
|
||||
#define BCM_MSG_IFNAME_MAX 16
|
||||
|
||||
|
@ -32,7 +34,7 @@ typedef struct {
|
|||
u32 reason;
|
||||
u32 auth_type;
|
||||
u32 datalen;
|
||||
struct ether_addr addr;
|
||||
u8 addr[ETH_ALEN];
|
||||
char ifname[BCM_MSG_IFNAME_MAX];
|
||||
} __attribute__((packed)) wl_event_msg_t;
|
||||
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2010 Broadcom Corporation
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef _NET_ETHERNET_H_
|
||||
#define _NET_ETHERNET_H_
|
||||
|
||||
#include <linux/if_ether.h>
|
||||
|
||||
|
||||
struct ether_addr {
|
||||
u8 octet[ETH_ALEN];
|
||||
} __attribute__((packed));
|
||||
|
||||
static const struct ether_addr ether_bcast = { {255, 255, 255, 255, 255, 255} };
|
||||
|
||||
#endif /* _NET_ETHERNET_H_ */
|
|
@ -18,7 +18,6 @@
|
|||
#define _wlioctl_h_
|
||||
|
||||
#include <linux/ieee80211.h>
|
||||
#include <proto/ethernet.h>
|
||||
#ifdef BRCM_FULLMAC
|
||||
#include <proto/bcmeth.h>
|
||||
#endif
|
||||
|
@ -43,7 +42,7 @@ typedef struct wl_bss_info {
|
|||
u32 length; /* byte length of data in this record,
|
||||
* starting at version and including IEs
|
||||
*/
|
||||
struct ether_addr BSSID;
|
||||
u8 BSSID[ETH_ALEN];
|
||||
u16 beacon_period; /* units are Kusec */
|
||||
u16 capability; /* Capability information */
|
||||
u8 SSID_len;
|
||||
|
@ -125,7 +124,7 @@ typedef struct wl_extdscan_params {
|
|||
|
||||
typedef struct wl_scan_params {
|
||||
wlc_ssid_t ssid; /* default: {0, ""} */
|
||||
struct ether_addr bssid; /* default: bcast */
|
||||
u8 bssid[ETH_ALEN]; /* default: bcast */
|
||||
s8 bss_type; /* default: any,
|
||||
* DOT11_BSSTYPE_ANY/INFRASTRUCTURE/INDEPENDENT
|
||||
*/
|
||||
|
@ -231,8 +230,8 @@ typedef struct wl_iscan_results {
|
|||
|
||||
typedef struct wl_probe_params {
|
||||
wlc_ssid_t ssid;
|
||||
struct ether_addr bssid;
|
||||
struct ether_addr mac;
|
||||
u8 bssid[ETH_ALEN];
|
||||
u8 mac[ETH_ALEN];
|
||||
} wl_probe_params_t;
|
||||
#endif /* BRCM_FULLMAC */
|
||||
|
||||
|
@ -259,7 +258,7 @@ typedef struct wl_u32_list {
|
|||
|
||||
/* used for association with a specific BSSID and chanspec list */
|
||||
typedef struct wl_assoc_params {
|
||||
struct ether_addr bssid; /* 00:00:00:00:00:00: broadcast scan */
|
||||
u8 bssid[ETH_ALEN]; /* 00:00:00:00:00:00: broadcast scan */
|
||||
s32 chanspec_num; /* 0: all available channels,
|
||||
* otherwise count of chanspecs in chanspec_list
|
||||
*/
|
||||
|
@ -489,7 +488,7 @@ typedef struct wl_wsec_key {
|
|||
u16 lo; /* lower 16 bits of IV */
|
||||
} rxiv;
|
||||
u32 pad_5[2];
|
||||
struct ether_addr ea; /* per station */
|
||||
u8 ea[ETH_ALEN]; /* per station */
|
||||
} wl_wsec_key_t;
|
||||
|
||||
#define WSEC_MIN_PSK_LEN 8
|
||||
|
@ -531,7 +530,7 @@ typedef struct {
|
|||
#define MAXPMKID 16
|
||||
|
||||
typedef struct _pmkid {
|
||||
struct ether_addr BSSID;
|
||||
u8 BSSID[ETH_ALEN];
|
||||
u8 PMKID[WLAN_PMKID_LEN];
|
||||
} pmkid_t;
|
||||
|
||||
|
@ -541,7 +540,7 @@ typedef struct _pmkid_list {
|
|||
} pmkid_list_t;
|
||||
|
||||
typedef struct _pmkid_cand {
|
||||
struct ether_addr BSSID;
|
||||
u8 BSSID[ETH_ALEN];
|
||||
u8 preauth;
|
||||
} pmkid_cand_t;
|
||||
|
||||
|
@ -569,7 +568,7 @@ typedef struct {
|
|||
/* Used to get specific STA parameters */
|
||||
typedef struct {
|
||||
u32 val;
|
||||
struct ether_addr ea;
|
||||
u8 ea[ETH_ALEN];
|
||||
} scb_val_t;
|
||||
#endif /* BRCM_FULLMAC */
|
||||
|
||||
|
@ -583,7 +582,7 @@ typedef struct channel_info {
|
|||
/* For ioctls that take a list of MAC addresses */
|
||||
struct maclist {
|
||||
uint count; /* number of MAC addresses */
|
||||
struct ether_addr ea[1]; /* variable length array of MAC addresses */
|
||||
u8 ea[1][ETH_ALEN]; /* variable length array of MAC addresses */
|
||||
};
|
||||
|
||||
/* get pkt count struct passed through ioctl */
|
||||
|
@ -1611,7 +1610,7 @@ struct ampdu_tid_control {
|
|||
|
||||
/* structure for identifying ea/tid for sending addba/delba */
|
||||
struct ampdu_ea_tid {
|
||||
struct ether_addr ea; /* Station address */
|
||||
u8 ea[ETH_ALEN]; /* Station address */
|
||||
u8 tid; /* tid */
|
||||
};
|
||||
/* structure for identifying retry/tid for retry_limit_tid/rr_retry_limit_tid */
|
||||
|
|
|
@ -396,7 +396,7 @@ wl_ops_bss_info_changed(struct ieee80211_hw *hw,
|
|||
/* BSSID changed, for whatever reason (IBSS and managed mode) */
|
||||
/* FIXME: need to store bssid in bsscfg */
|
||||
wlc_set_addrmatch(wl->wlc, RCM_BSSID_OFFSET,
|
||||
(struct ether_addr *)info->bssid);
|
||||
info->bssid);
|
||||
}
|
||||
if (changed & BSS_CHANGED_BEACON) {
|
||||
WL_ERROR("BSS_CHANGED_BEACON\n");
|
||||
|
|
|
@ -86,8 +86,8 @@ static struct wlc_pub *wlc_pub_malloc(struct osl_info *osh, uint unit,
|
|||
/* need to init the tunables now */
|
||||
wlc_tunables_init(pub->tunables, devid);
|
||||
|
||||
pub->multicast = (struct ether_addr *)wlc_calloc(osh, unit,
|
||||
(sizeof(struct ether_addr) * MAXMULTILIST));
|
||||
pub->multicast = (u8 *)wlc_calloc(osh, unit,
|
||||
(ETH_ALEN * MAXMULTILIST));
|
||||
if (pub->multicast == NULL) {
|
||||
*err = 1003;
|
||||
goto fail;
|
||||
|
|
|
@ -1329,7 +1329,7 @@ void wlc_ampdu_macaddr_upd(struct wlc_info *wlc)
|
|||
|
||||
/* driver needs to write the ta in the template; ta is at offset 16 */
|
||||
memset(template, 0, sizeof(template));
|
||||
bcopy((char *)wlc->pub->cur_etheraddr.octet, template, ETH_ALEN);
|
||||
bcopy((char *)wlc->pub->cur_etheraddr, template, ETH_ALEN);
|
||||
wlc_write_template_ram(wlc, (T_BA_TPL_BASE + 16), (T_RAM_ACCESS_SZ * 2),
|
||||
template);
|
||||
}
|
||||
|
|
|
@ -1032,9 +1032,9 @@ int wlc_bmac_attach(struct wlc_info *wlc, u16 vendor, u16 device, uint unit,
|
|||
err = 21;
|
||||
goto fail;
|
||||
}
|
||||
bcm_ether_atoe(macaddr, &wlc_hw->etheraddr);
|
||||
if (is_broadcast_ether_addr(wlc_hw->etheraddr.octet) ||
|
||||
is_zero_ether_addr(wlc_hw->etheraddr.octet)) {
|
||||
bcm_ether_atoe(macaddr, wlc_hw->etheraddr);
|
||||
if (is_broadcast_ether_addr(wlc_hw->etheraddr) ||
|
||||
is_zero_ether_addr(wlc_hw->etheraddr)) {
|
||||
WL_ERROR("wl%d: wlc_bmac_attach: bad macaddr %s\n",
|
||||
unit, macaddr);
|
||||
err = 22;
|
||||
|
@ -1348,15 +1348,15 @@ void wlc_bmac_wait_for_wake(struct wlc_hw_info *wlc_hw)
|
|||
ASSERT(wlc_bmac_read_shm(wlc_hw, M_UCODE_DBGST) != DBGST_ASLEEP);
|
||||
}
|
||||
|
||||
void wlc_bmac_hw_etheraddr(struct wlc_hw_info *wlc_hw, struct ether_addr *ea)
|
||||
void wlc_bmac_hw_etheraddr(struct wlc_hw_info *wlc_hw, u8 *ea)
|
||||
{
|
||||
bcopy(&wlc_hw->etheraddr, ea, ETH_ALEN);
|
||||
bcopy(wlc_hw->etheraddr, ea, ETH_ALEN);
|
||||
}
|
||||
|
||||
void wlc_bmac_set_hw_etheraddr(struct wlc_hw_info *wlc_hw,
|
||||
struct ether_addr *ea)
|
||||
u8 *ea)
|
||||
{
|
||||
bcopy(ea, &wlc_hw->etheraddr, ETH_ALEN);
|
||||
bcopy(ea, wlc_hw->etheraddr, ETH_ALEN);
|
||||
}
|
||||
|
||||
int wlc_bmac_bandtype(struct wlc_hw_info *wlc_hw)
|
||||
|
@ -1721,7 +1721,7 @@ static void wlc_ucode_mute_override_clear(struct wlc_hw_info *wlc_hw)
|
|||
*/
|
||||
void
|
||||
wlc_bmac_set_rcmta(struct wlc_hw_info *wlc_hw, int idx,
|
||||
const struct ether_addr *addr)
|
||||
const u8 *addr)
|
||||
{
|
||||
d11regs_t *regs = wlc_hw->regs;
|
||||
volatile u16 *objdata16 = (volatile u16 *)®s->objdata;
|
||||
|
@ -1734,10 +1734,9 @@ wlc_bmac_set_rcmta(struct wlc_hw_info *wlc_hw, int idx,
|
|||
ASSERT(wlc_hw->corerev > 4);
|
||||
|
||||
mac_hm =
|
||||
(addr->octet[3] << 24) | (addr->octet[2] << 16) | (addr->
|
||||
octet[1] << 8) |
|
||||
addr->octet[0];
|
||||
mac_l = (addr->octet[5] << 8) | addr->octet[4];
|
||||
(addr[3] << 24) | (addr[2] << 16) |
|
||||
(addr[1] << 8) | addr[0];
|
||||
mac_l = (addr[5] << 8) | addr[4];
|
||||
|
||||
osh = wlc_hw->osh;
|
||||
|
||||
|
@ -1754,7 +1753,7 @@ wlc_bmac_set_rcmta(struct wlc_hw_info *wlc_hw, int idx,
|
|||
*/
|
||||
void
|
||||
wlc_bmac_set_addrmatch(struct wlc_hw_info *wlc_hw, int match_reg_offset,
|
||||
const struct ether_addr *addr)
|
||||
const u8 *addr)
|
||||
{
|
||||
d11regs_t *regs;
|
||||
u16 mac_l;
|
||||
|
@ -1767,9 +1766,9 @@ wlc_bmac_set_addrmatch(struct wlc_hw_info *wlc_hw, int match_reg_offset,
|
|||
ASSERT((match_reg_offset < RCM_SIZE) || (wlc_hw->corerev == 4));
|
||||
|
||||
regs = wlc_hw->regs;
|
||||
mac_l = addr->octet[0] | (addr->octet[1] << 8);
|
||||
mac_m = addr->octet[2] | (addr->octet[3] << 8);
|
||||
mac_h = addr->octet[4] | (addr->octet[5] << 8);
|
||||
mac_l = addr[0] | (addr[1] << 8);
|
||||
mac_m = addr[2] | (addr[3] << 8);
|
||||
mac_h = addr[4] | (addr[5] << 8);
|
||||
|
||||
osh = wlc_hw->osh;
|
||||
|
||||
|
@ -3042,7 +3041,7 @@ void wlc_intrsrestore(struct wlc_info *wlc, u32 macintmask)
|
|||
|
||||
void wlc_bmac_mute(struct wlc_hw_info *wlc_hw, bool on, mbool flags)
|
||||
{
|
||||
struct ether_addr null_ether_addr = { {0, 0, 0, 0, 0, 0} };
|
||||
u8 null_ether_addr[ETH_ALEN] = {0, 0, 0, 0, 0, 0};
|
||||
|
||||
if (on) {
|
||||
/* suspend tx fifos */
|
||||
|
@ -3053,7 +3052,7 @@ void wlc_bmac_mute(struct wlc_hw_info *wlc_hw, bool on, mbool flags)
|
|||
|
||||
/* zero the address match register so we do not send ACKs */
|
||||
wlc_bmac_set_addrmatch(wlc_hw, RCM_MAC_OFFSET,
|
||||
&null_ether_addr);
|
||||
null_ether_addr);
|
||||
} else {
|
||||
/* resume tx fifos */
|
||||
if (!wlc_hw->wlc->tx_suspended) {
|
||||
|
@ -3065,7 +3064,7 @@ void wlc_bmac_mute(struct wlc_hw_info *wlc_hw, bool on, mbool flags)
|
|||
|
||||
/* Restore address */
|
||||
wlc_bmac_set_addrmatch(wlc_hw, RCM_MAC_OFFSET,
|
||||
&wlc_hw->etheraddr);
|
||||
wlc_hw->etheraddr);
|
||||
}
|
||||
|
||||
wlc_phy_mute_upd(wlc_hw->band->pi, on, flags);
|
||||
|
|
|
@ -204,9 +204,9 @@ extern void wlc_bmac_copyfrom_vars(struct wlc_hw_info *wlc_hw, char **buf,
|
|||
extern void wlc_bmac_process_ps_switch(struct wlc_hw_info *wlc,
|
||||
struct ether_addr *ea, s8 ps_on);
|
||||
extern void wlc_bmac_hw_etheraddr(struct wlc_hw_info *wlc_hw,
|
||||
struct ether_addr *ea);
|
||||
u8 *ea);
|
||||
extern void wlc_bmac_set_hw_etheraddr(struct wlc_hw_info *wlc_hw,
|
||||
struct ether_addr *ea);
|
||||
u8 *ea);
|
||||
extern bool wlc_bmac_validate_chip_access(struct wlc_hw_info *wlc_hw);
|
||||
|
||||
extern bool wlc_bmac_radio_read_hwdisabled(struct wlc_hw_info *wlc_hw);
|
||||
|
@ -227,10 +227,10 @@ extern void wlc_ucode_wake_override_clear(struct wlc_hw_info *wlc_hw,
|
|||
u32 override_bit);
|
||||
|
||||
extern void wlc_bmac_set_rcmta(struct wlc_hw_info *wlc_hw, int idx,
|
||||
const struct ether_addr *addr);
|
||||
const u8 *addr);
|
||||
extern void wlc_bmac_set_addrmatch(struct wlc_hw_info *wlc_hw,
|
||||
int match_reg_offset,
|
||||
const struct ether_addr *addr);
|
||||
const u8 *addr);
|
||||
extern void wlc_bmac_write_hw_bcntemplates(struct wlc_hw_info *wlc_hw,
|
||||
void *bcn, int len, bool both);
|
||||
|
||||
|
|
|
@ -93,8 +93,8 @@ struct wlc_bsscfg {
|
|||
u32 tk_cm_bt_tmstmp; /* Timestamp when TKIP BT is activated */
|
||||
bool tk_cm_activate; /* activate countermeasures after EAPOL-Key sent */
|
||||
|
||||
struct ether_addr BSSID; /* BSSID (associated) */
|
||||
struct ether_addr cur_etheraddr; /* h/w address */
|
||||
u8 BSSID[ETH_ALEN]; /* BSSID (associated) */
|
||||
u8 cur_etheraddr[ETH_ALEN]; /* h/w address */
|
||||
u16 bcmc_fid; /* the last BCMC FID queued to TX_BCMC_FIFO */
|
||||
u16 bcmc_fid_shm; /* the last BCMC FID written to shared mem */
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ typedef struct wsec_iv {
|
|||
#define WLC_NUMRXIVS 16 /* # rx IVs (one per 802.11e TID) */
|
||||
|
||||
typedef struct wsec_key {
|
||||
struct ether_addr ea; /* per station */
|
||||
u8 ea[ETH_ALEN]; /* per station */
|
||||
u8 idx; /* key index in wsec_keys array */
|
||||
u8 id; /* key ID [0-3] */
|
||||
u8 algo; /* CRYPTO_ALGO_AES_CCM, CRYPTO_ALGO_WEP128, etc */
|
||||
|
|
|
@ -308,7 +308,7 @@ static int _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
|||
struct wlc_if *wlcif);
|
||||
|
||||
#if defined(BCMDBG)
|
||||
void wlc_get_rcmta(struct wlc_info *wlc, int idx, struct ether_addr *addr)
|
||||
void wlc_get_rcmta(struct wlc_info *wlc, int idx, u8 *addr)
|
||||
{
|
||||
d11regs_t *regs = wlc->regs;
|
||||
u32 v32;
|
||||
|
@ -323,15 +323,15 @@ void wlc_get_rcmta(struct wlc_info *wlc, int idx, struct ether_addr *addr)
|
|||
W_REG(osh, ®s->objaddr, (OBJADDR_RCMTA_SEL | (idx * 2)));
|
||||
(void)R_REG(osh, ®s->objaddr);
|
||||
v32 = R_REG(osh, ®s->objdata);
|
||||
addr->octet[0] = (u8) v32;
|
||||
addr->octet[1] = (u8) (v32 >> 8);
|
||||
addr->octet[2] = (u8) (v32 >> 16);
|
||||
addr->octet[3] = (u8) (v32 >> 24);
|
||||
addr[0] = (u8) v32;
|
||||
addr[1] = (u8) (v32 >> 8);
|
||||
addr[2] = (u8) (v32 >> 16);
|
||||
addr[3] = (u8) (v32 >> 24);
|
||||
W_REG(osh, ®s->objaddr, (OBJADDR_RCMTA_SEL | ((idx * 2) + 1)));
|
||||
(void)R_REG(osh, ®s->objaddr);
|
||||
v32 = R_REG(osh, (volatile u16 *)®s->objdata);
|
||||
addr->octet[4] = (u8) v32;
|
||||
addr->octet[5] = (u8) (v32 >> 8);
|
||||
addr[4] = (u8) v32;
|
||||
addr[5] = (u8) (v32 >> 8);
|
||||
}
|
||||
#endif /* defined(BCMDBG) */
|
||||
|
||||
|
@ -687,7 +687,7 @@ int wlc_set_mac(wlc_bsscfg_t *cfg)
|
|||
|
||||
if (cfg == wlc->cfg) {
|
||||
/* enter the MAC addr into the RXE match registers */
|
||||
wlc_set_addrmatch(wlc, RCM_MAC_OFFSET, &cfg->cur_etheraddr);
|
||||
wlc_set_addrmatch(wlc, RCM_MAC_OFFSET, cfg->cur_etheraddr);
|
||||
}
|
||||
|
||||
wlc_ampdu_macaddr_upd(wlc);
|
||||
|
@ -704,7 +704,7 @@ void wlc_set_bssid(wlc_bsscfg_t *cfg)
|
|||
|
||||
/* if primary config, we need to update BSSID in RXE match registers */
|
||||
if (cfg == wlc->cfg) {
|
||||
wlc_set_addrmatch(wlc, RCM_BSSID_OFFSET, &cfg->BSSID);
|
||||
wlc_set_addrmatch(wlc, RCM_BSSID_OFFSET, cfg->BSSID);
|
||||
}
|
||||
#ifdef SUPPORT_HWKEYS
|
||||
else if (BSSCFG_STA(cfg) && cfg->BSS) {
|
||||
|
@ -1736,7 +1736,6 @@ void *wlc_attach(void *wl, u16 vendor, u16 device, uint unit, bool piomode,
|
|||
ASSERT(WSEC_MAX_DEFAULT_KEYS == WLC_DEFAULT_KEYS);
|
||||
|
||||
/* some code depends on packed structures */
|
||||
ASSERT(sizeof(struct ether_addr) == ETH_ALEN);
|
||||
ASSERT(sizeof(struct ethhdr) == ETH_HLEN);
|
||||
ASSERT(sizeof(d11regs_t) == SI_CORE_SIZE);
|
||||
ASSERT(sizeof(ofdm_phy_hdr_t) == D11_PHY_HDR_LEN);
|
||||
|
@ -1846,7 +1845,7 @@ void *wlc_attach(void *wl, u16 vendor, u16 device, uint unit, bool piomode,
|
|||
wlc->core->txavail[i] = wlc->hw->txavail[i];
|
||||
}
|
||||
|
||||
wlc_bmac_hw_etheraddr(wlc->hw, &wlc->perm_etheraddr);
|
||||
wlc_bmac_hw_etheraddr(wlc->hw, wlc->perm_etheraddr);
|
||||
|
||||
bcopy((char *)&wlc->perm_etheraddr, (char *)&pub->cur_etheraddr,
|
||||
ETH_ALEN);
|
||||
|
@ -3610,7 +3609,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
|||
if (src_key->flags & WSEC_PRIMARY_KEY)
|
||||
key.flags |= WL_PRIMARY_KEY;
|
||||
|
||||
bcopy(src_key->ea.octet, key.ea.octet,
|
||||
bcopy(src_key->ea, key.ea,
|
||||
ETH_ALEN);
|
||||
}
|
||||
|
||||
|
@ -3647,7 +3646,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int len,
|
|||
u32 hi;
|
||||
/* group keys in WPA-NONE (IBSS only, AES and TKIP) use a global TXIV */
|
||||
if ((bsscfg->WPA_auth & WPA_AUTH_NONE) &&
|
||||
is_zero_ether_addr(key->ea.octet)) {
|
||||
is_zero_ether_addr(key->ea)) {
|
||||
lo = bsscfg->wpa_none_txiv.lo;
|
||||
hi = bsscfg->wpa_none_txiv.hi;
|
||||
} else {
|
||||
|
@ -5819,7 +5818,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
|
|||
rspec[k] = WLC_RATE_1M;
|
||||
} else {
|
||||
if (WLANTSEL_ENAB(wlc) &&
|
||||
!is_multicast_ether_addr(h->a1.octet)) {
|
||||
!is_multicast_ether_addr(h->a1)) {
|
||||
/* set tx antenna config */
|
||||
wlc_antsel_antcfg_get(wlc->asi, false, false, 0,
|
||||
0, &antcfg, &fbantcfg);
|
||||
|
@ -5982,7 +5981,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
|
|||
|
||||
/* DUR field for main rate */
|
||||
if ((fc != FC_PS_POLL) &&
|
||||
!is_multicast_ether_addr(h->a1.octet) && !use_rifs) {
|
||||
!is_multicast_ether_addr(h->a1) && !use_rifs) {
|
||||
durid =
|
||||
wlc_compute_frame_dur(wlc, rspec[0], preamble_type[0],
|
||||
next_frag_len);
|
||||
|
@ -6000,7 +5999,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
|
|||
/* DUR field for fallback rate */
|
||||
if (fc == FC_PS_POLL)
|
||||
txh->FragDurFallback = h->durid;
|
||||
else if (is_multicast_ether_addr(h->a1.octet) || use_rifs)
|
||||
else if (is_multicast_ether_addr(h->a1) || use_rifs)
|
||||
txh->FragDurFallback = 0;
|
||||
else {
|
||||
durid = wlc_compute_frame_dur(wlc, rspec[1],
|
||||
|
@ -6012,7 +6011,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
|
|||
if (frag == 0)
|
||||
mcl |= TXC_STARTMSDU;
|
||||
|
||||
if (!is_multicast_ether_addr(h->a1.octet))
|
||||
if (!is_multicast_ether_addr(h->a1))
|
||||
mcl |= TXC_IMMEDACK;
|
||||
|
||||
if (BAND_5G(wlc->band->bandtype))
|
||||
|
@ -6241,7 +6240,7 @@ wlc_d11hdrs_mac80211(struct wlc_info *wlc, struct ieee80211_hw *hw,
|
|||
if (SCB_WME(scb) && qos && wlc->edcf_txop[ac]) {
|
||||
uint frag_dur, dur, dur_fallback;
|
||||
|
||||
ASSERT(!is_multicast_ether_addr(h->a1.octet));
|
||||
ASSERT(!is_multicast_ether_addr(h->a1));
|
||||
|
||||
/* WME: Update TXOP threshold */
|
||||
if ((!(tx_info->flags & IEEE80211_TX_CTL_AMPDU)) && (frag == 0)) {
|
||||
|
@ -7051,8 +7050,8 @@ void BCMFASTPATH wlc_recv(struct wlc_info *wlc, struct sk_buff *p)
|
|||
if (!is_amsdu) {
|
||||
/* CTS and ACK CTL frames are w/o a2 */
|
||||
if (FC_TYPE(fc) == FC_TYPE_DATA || FC_TYPE(fc) == FC_TYPE_MNG) {
|
||||
if ((is_zero_ether_addr(h->a2.octet) ||
|
||||
is_multicast_ether_addr(h->a2.octet))) {
|
||||
if ((is_zero_ether_addr(h->a2) ||
|
||||
is_multicast_ether_addr(h->a2))) {
|
||||
WL_ERROR("wl%d: %s: dropping a frame with invalid src mac address, a2: %pM\n",
|
||||
wlc->pub->unit, __func__, &h->a2);
|
||||
WLCNTINCR(wlc->pub->_cnt->rxbadsrcmac);
|
||||
|
@ -7622,6 +7621,7 @@ static void
|
|||
wlc_bcn_prb_template(struct wlc_info *wlc, uint type, ratespec_t bcn_rspec,
|
||||
wlc_bsscfg_t *cfg, u16 *buf, int *len)
|
||||
{
|
||||
static const u8 ether_bcast[ETH_ALEN] = {255, 255, 255, 255, 255, 255};
|
||||
cck_phy_hdr_t *plcp;
|
||||
struct dot11_management_header *h;
|
||||
int hdr_len, body_len;
|
||||
|
@ -8232,12 +8232,12 @@ void wlc_write_hw_bcntemplates(struct wlc_info *wlc, void *bcn, int len,
|
|||
|
||||
void
|
||||
wlc_set_addrmatch(struct wlc_info *wlc, int match_reg_offset,
|
||||
const struct ether_addr *addr)
|
||||
const u8 *addr)
|
||||
{
|
||||
wlc_bmac_set_addrmatch(wlc->hw, match_reg_offset, addr);
|
||||
}
|
||||
|
||||
void wlc_set_rcmta(struct wlc_info *wlc, int idx, const struct ether_addr *addr)
|
||||
void wlc_set_rcmta(struct wlc_info *wlc, int idx, const u8 *addr)
|
||||
{
|
||||
wlc_bmac_set_rcmta(wlc->hw, idx, addr);
|
||||
}
|
||||
|
|
|
@ -470,7 +470,7 @@ struct wlc_hw_info {
|
|||
uint mac_suspend_depth; /* current depth of mac_suspend levels */
|
||||
u32 wake_override; /* Various conditions to force MAC to WAKE mode */
|
||||
u32 mute_override; /* Prevent ucode from sending beacons */
|
||||
struct ether_addr etheraddr; /* currently configured ethernet address */
|
||||
u8 etheraddr[ETH_ALEN]; /* currently configured ethernet address */
|
||||
u32 led_gpio_mask; /* LED GPIO Mask */
|
||||
bool noreset; /* true= do not reset hw, used by WLC_OUT */
|
||||
bool forcefastclk; /* true if the h/w is forcing the use of fast clk */
|
||||
|
@ -566,7 +566,7 @@ struct wlc_info {
|
|||
|
||||
u32 machwcap; /* MAC capabilities, BMAC shadow */
|
||||
|
||||
struct ether_addr perm_etheraddr; /* original sprom local ethernet address */
|
||||
u8 perm_etheraddr[ETH_ALEN]; /* original sprom local ethernet address */
|
||||
|
||||
bool bandlocked; /* disable auto multi-band switching */
|
||||
bool bandinit_pending; /* track band init in auto band */
|
||||
|
@ -836,12 +836,12 @@ extern void wlc_write_hw_bcntemplates(struct wlc_info *wlc, void *bcn, int len,
|
|||
bool both);
|
||||
#if defined(BCMDBG)
|
||||
extern void wlc_get_rcmta(struct wlc_info *wlc, int idx,
|
||||
struct ether_addr *addr);
|
||||
u8 *addr);
|
||||
#endif
|
||||
extern void wlc_set_rcmta(struct wlc_info *wlc, int idx,
|
||||
const struct ether_addr *addr);
|
||||
const u8 *addr);
|
||||
extern void wlc_set_addrmatch(struct wlc_info *wlc, int match_reg_offset,
|
||||
const struct ether_addr *addr);
|
||||
const u8 *addr);
|
||||
extern void wlc_read_tsf(struct wlc_info *wlc, u32 *tsf_l_ptr,
|
||||
u32 *tsf_h_ptr);
|
||||
extern void wlc_set_cwmin(struct wlc_info *wlc, u16 newmin);
|
||||
|
|
|
@ -165,7 +165,7 @@ typedef struct wlc_event {
|
|||
|
||||
/* wlc internal bss_info, wl external one is in wlioctl.h */
|
||||
typedef struct wlc_bss_info {
|
||||
struct ether_addr BSSID; /* network BSSID */
|
||||
u8 BSSID[ETH_ALEN]; /* network BSSID */
|
||||
u16 flags; /* flags for internal attributes */
|
||||
u8 SSID_len; /* the length of SSID */
|
||||
u8 SSID[32]; /* SSID string */
|
||||
|
@ -291,9 +291,9 @@ struct wlc_pub {
|
|||
s8 _coex; /* 20/40 MHz BSS Management AUTO, ENAB, DISABLE */
|
||||
bool _priofc; /* Priority-based flowcontrol */
|
||||
|
||||
struct ether_addr cur_etheraddr; /* our local ethernet address */
|
||||
u8 cur_etheraddr[ETH_ALEN]; /* our local ethernet address */
|
||||
|
||||
struct ether_addr *multicast; /* ptr to list of multicast addresses */
|
||||
u8 *multicast; /* ptr to list of multicast addresses */
|
||||
uint nmulticast; /* # enabled multicast addresses */
|
||||
|
||||
u32 wlfeatureflag; /* Flags to control sw features from registry */
|
||||
|
@ -524,7 +524,7 @@ extern void wlc_statsupd(struct wlc_info *wlc);
|
|||
extern int wlc_get_header_len(void);
|
||||
extern void wlc_mac_bcn_promisc_change(struct wlc_info *wlc, bool promisc);
|
||||
extern void wlc_set_addrmatch(struct wlc_info *wlc, int match_reg_offset,
|
||||
const struct ether_addr *addr);
|
||||
const u8 *addr);
|
||||
extern void wlc_wme_setparams(struct wlc_info *wlc, u16 aci, void *arg,
|
||||
bool suspend);
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ struct scb {
|
|||
u32 flags; /* various bit flags as defined below */
|
||||
u32 flags2; /* various bit flags2 as defined below */
|
||||
u8 state; /* current state bitfield of auth/assoc process */
|
||||
struct ether_addr ea; /* station address */
|
||||
u8 ea[ETH_ALEN]; /* station address */
|
||||
void *fragbuf[NUMPRIO]; /* defragmentation buffer per prio */
|
||||
uint fragresid[NUMPRIO]; /* #bytes unused in frag buffer per prio */
|
||||
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
#endif
|
||||
|
||||
#include <linux/if_ether.h>
|
||||
#include <proto/ethernet.h> /* for sprom content groking */
|
||||
|
||||
#define BS_ERROR(args)
|
||||
|
||||
|
@ -1726,16 +1725,16 @@ static void _initvars_srom_pci(u8 sromrev, u16 *srom, uint off, varbuf_t *b)
|
|||
continue;
|
||||
|
||||
if (flags & SRFL_ETHADDR) {
|
||||
struct ether_addr ea;
|
||||
u8 ea[ETH_ALEN];
|
||||
|
||||
ea.octet[0] = (srom[srv->off - off] >> 8) & 0xff;
|
||||
ea.octet[1] = srom[srv->off - off] & 0xff;
|
||||
ea.octet[2] = (srom[srv->off + 1 - off] >> 8) & 0xff;
|
||||
ea.octet[3] = srom[srv->off + 1 - off] & 0xff;
|
||||
ea.octet[4] = (srom[srv->off + 2 - off] >> 8) & 0xff;
|
||||
ea.octet[5] = srom[srv->off + 2 - off] & 0xff;
|
||||
ea[0] = (srom[srv->off - off] >> 8) & 0xff;
|
||||
ea[1] = srom[srv->off - off] & 0xff;
|
||||
ea[2] = (srom[srv->off + 1 - off] >> 8) & 0xff;
|
||||
ea[3] = srom[srv->off + 1 - off] & 0xff;
|
||||
ea[4] = (srom[srv->off + 2 - off] >> 8) & 0xff;
|
||||
ea[5] = srom[srv->off + 2 - off] & 0xff;
|
||||
|
||||
varbuf_append(b, "%s=%pM", name, ea.octet);
|
||||
varbuf_append(b, "%s=%pM", name, ea);
|
||||
} else {
|
||||
ASSERT(mask_valid(srv->mask));
|
||||
ASSERT(mask_width(srv->mask));
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#include <bcmnvram.h>
|
||||
#include <bcmendian.h>
|
||||
#include <bcmdevs.h>
|
||||
#include <proto/ethernet.h>
|
||||
#include <proto/802.1d.h>
|
||||
#include <proto/802.11.h>
|
||||
|
||||
|
@ -348,12 +347,12 @@ struct sk_buff *BCMFASTPATH pktq_mdeq(struct pktq *pq, uint prec_bmp,
|
|||
}
|
||||
|
||||
/* parse a xx:xx:xx:xx:xx:xx format ethernet address */
|
||||
int bcm_ether_atoe(char *p, struct ether_addr *ea)
|
||||
int bcm_ether_atoe(char *p, u8 *ea)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
for (;;) {
|
||||
ea->octet[i++] = (char)simple_strtoul(p, &p, 16);
|
||||
ea[i++] = (char)simple_strtoul(p, &p, 16);
|
||||
if (!*p++ || i == 6)
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue