summaryrefslogtreecommitdiffstats
path: root/src/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/net')
-rw-r--r--src/net/80211/net80211.c2
-rw-r--r--src/net/netdevice.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/net/80211/net80211.c b/src/net/80211/net80211.c
index c46870c4..f3612853 100644
--- a/src/net/80211/net80211.c
+++ b/src/net/80211/net80211.c
@@ -792,7 +792,7 @@ int net80211_register ( struct net80211_device *dev,
return -ENOMEM;
memcpy ( dev->hw, hw, sizeof ( *hw ) );
- memcpy ( dev->netdev->ll_addr, hw->hwaddr, ETH_ALEN );
+ memcpy ( dev->netdev->hw_addr, hw->hwaddr, ETH_ALEN );
/* Set some sensible channel defaults for driver's open() function */
memcpy ( dev->channels, dev->hw->channels,
diff --git a/src/net/netdevice.c b/src/net/netdevice.c
index f019eeb2..f43ca8a4 100644
--- a/src/net/netdevice.c
+++ b/src/net/netdevice.c
@@ -357,6 +357,10 @@ int register_netdev ( struct net_device *netdev ) {
snprintf ( netdev->name, sizeof ( netdev->name ), "net%d",
ifindex++ );
+ /* Set initial link-layer address */
+ memcpy ( netdev->ll_addr, netdev->hw_addr,
+ netdev->ll_protocol->ll_addr_len );
+
/* Register per-netdev configuration settings */
if ( ( rc = register_settings ( netdev_settings ( netdev ),
NULL ) ) != 0 ) {
@@ -370,7 +374,7 @@ int register_netdev ( struct net_device *netdev ) {
list_add_tail ( &netdev->list, &net_devices );
DBGC ( netdev, "NETDEV %p registered as %s (phys %s hwaddr %s)\n",
netdev, netdev->name, netdev->dev->name,
- netdev_hwaddr ( netdev ) );
+ netdev_addr ( netdev ) );
return 0;
}