diff options
Diffstat (limited to 'drivers/net/wireless/libertas/main.c')
-rw-r--r-- | drivers/net/wireless/libertas/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c index e56916a46821..5dde49bbda85 100644 --- a/drivers/net/wireless/libertas/main.c +++ b/drivers/net/wireless/libertas/main.c | |||
@@ -465,6 +465,9 @@ static int wlan_set_mac_address(struct net_device *dev, void *addr) | |||
465 | 465 | ||
466 | lbs_deb_enter(LBS_DEB_NET); | 466 | lbs_deb_enter(LBS_DEB_NET); |
467 | 467 | ||
468 | /* In case it was called from the mesh device */ | ||
469 | dev = priv->dev ; | ||
470 | |||
468 | memset(adapter->current_addr, 0, ETH_ALEN); | 471 | memset(adapter->current_addr, 0, ETH_ALEN); |
469 | 472 | ||
470 | /* dev->dev_addr is 8 bytes */ | 473 | /* dev->dev_addr is 8 bytes */ |
@@ -914,6 +917,7 @@ int libertas_add_mesh(wlan_private *priv, struct device *dev) | |||
914 | mesh_dev->stop = mesh_close; | 917 | mesh_dev->stop = mesh_close; |
915 | mesh_dev->do_ioctl = libertas_do_ioctl; | 918 | mesh_dev->do_ioctl = libertas_do_ioctl; |
916 | mesh_dev->get_stats = wlan_get_stats; | 919 | mesh_dev->get_stats = wlan_get_stats; |
920 | mesh_dev->set_mac_address = wlan_set_mac_address; | ||
917 | mesh_dev->ethtool_ops = &libertas_ethtool_ops; | 921 | mesh_dev->ethtool_ops = &libertas_ethtool_ops; |
918 | memcpy(mesh_dev->dev_addr, priv->dev->dev_addr, | 922 | memcpy(mesh_dev->dev_addr, priv->dev->dev_addr, |
919 | sizeof(priv->dev->dev_addr)); | 923 | sizeof(priv->dev->dev_addr)); |