Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 300953
b: refs/heads/master
c: 75c4990
h: refs/heads/master
i:
  300951: 2903dbe
v: v3
  • Loading branch information
Arend van Spriel authored and John W. Linville committed Apr 13, 2012
1 parent 8b8d385 commit d048a31
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 60 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0446b49c3350ad1fdbc5a3f8f8223fc8af7d853b
refs/heads/master: 75c49904c9dbacb83e36c3d770e86b78b0661cbb
1 change: 0 additions & 1 deletion trunk/drivers/net/wireless/brcm80211/brcmfmac/dhd.h
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,6 @@ extern const struct bcmevent_name bcmevent_names[];
extern uint brcmf_c_mkiovar(char *name, char *data, uint datalen,
char *buf, uint len);

extern int brcmf_net_attach(struct brcmf_pub *drvr, int idx);
extern int brcmf_netdev_wait_pend8021x(struct net_device *ndev);

extern s32 brcmf_exec_dcmd(struct net_device *dev, u32 cmd, void *arg, u32 len);
Expand Down
116 changes: 58 additions & 58 deletions trunk/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
Original file line number Diff line number Diff line change
Expand Up @@ -843,6 +843,64 @@ static const struct net_device_ops brcmf_netdev_ops_pri = {
.ndo_set_rx_mode = brcmf_netdev_set_multicast_list
};

static int brcmf_net_attach(struct brcmf_pub *drvr, int ifidx)
{
struct net_device *ndev;
u8 temp_addr[ETH_ALEN] = {
0x00, 0x90, 0x4c, 0x11, 0x22, 0x33};

brcmf_dbg(TRACE, "ifidx %d\n", ifidx);

ndev = drvr->iflist[ifidx]->ndev;
ndev->netdev_ops = &brcmf_netdev_ops_pri;

/*
* We have to use the primary MAC for virtual interfaces
*/
if (ifidx != 0) {
/* for virtual interfaces use the primary MAC */
memcpy(temp_addr, drvr->mac, ETH_ALEN);

}

if (ifidx == 1) {
brcmf_dbg(TRACE, "ACCESS POINT MAC:\n");
/* ACCESSPOINT INTERFACE CASE */
temp_addr[0] |= 0X02; /* set bit 2 ,
- Locally Administered address */

}
ndev->hard_header_len = ETH_HLEN + drvr->hdrlen;
ndev->ethtool_ops = &brcmf_ethtool_ops;

drvr->rxsz = ndev->mtu + ndev->hard_header_len +
drvr->hdrlen;

memcpy(ndev->dev_addr, temp_addr, ETH_ALEN);

/* attach to cfg80211 for primary interface */
if (!ifidx) {
drvr->config = brcmf_cfg80211_attach(ndev, drvr->dev, drvr);
if (drvr->config == NULL) {
brcmf_dbg(ERROR, "wl_cfg80211_attach failed\n");
goto fail;
}
}

if (register_netdev(ndev) != 0) {
brcmf_dbg(ERROR, "couldn't register the net device\n");
goto fail;
}

brcmf_dbg(INFO, "%s: Broadcom Dongle Host Driver\n", ndev->name);

return 0;

fail:
ndev->netdev_ops = NULL;
return -EBADE;
}

int
brcmf_add_if(struct device *dev, int ifidx, char *name, u8 *mac_addr)
{
Expand Down Expand Up @@ -1021,64 +1079,6 @@ int brcmf_bus_start(struct device *dev)
return 0;
}

int brcmf_net_attach(struct brcmf_pub *drvr, int ifidx)
{
struct net_device *ndev;
u8 temp_addr[ETH_ALEN] = {
0x00, 0x90, 0x4c, 0x11, 0x22, 0x33};

brcmf_dbg(TRACE, "ifidx %d\n", ifidx);

ndev = drvr->iflist[ifidx]->ndev;
ndev->netdev_ops = &brcmf_netdev_ops_pri;

/*
* We have to use the primary MAC for virtual interfaces
*/
if (ifidx != 0) {
/* for virtual interfaces use the primary MAC */
memcpy(temp_addr, drvr->mac, ETH_ALEN);

}

if (ifidx == 1) {
brcmf_dbg(TRACE, "ACCESS POINT MAC:\n");
/* ACCESSPOINT INTERFACE CASE */
temp_addr[0] |= 0X02; /* set bit 2 ,
- Locally Administered address */

}
ndev->hard_header_len = ETH_HLEN + drvr->hdrlen;
ndev->ethtool_ops = &brcmf_ethtool_ops;

drvr->rxsz = ndev->mtu + ndev->hard_header_len +
drvr->hdrlen;

memcpy(ndev->dev_addr, temp_addr, ETH_ALEN);

/* attach to cfg80211 for primary interface */
if (!ifidx) {
drvr->config = brcmf_cfg80211_attach(ndev, drvr->dev, drvr);
if (drvr->config == NULL) {
brcmf_dbg(ERROR, "wl_cfg80211_attach failed\n");
goto fail;
}
}

if (register_netdev(ndev) != 0) {
brcmf_dbg(ERROR, "couldn't register the net device\n");
goto fail;
}

brcmf_dbg(INFO, "%s: Broadcom Dongle Host Driver\n", ndev->name);

return 0;

fail:
ndev->netdev_ops = NULL;
return -EBADE;
}

static void brcmf_bus_detach(struct brcmf_pub *drvr)
{
brcmf_dbg(TRACE, "Enter\n");
Expand Down

0 comments on commit d048a31

Please sign in to comment.