From 83333c710187e739adfe3c1d85b2107bc93d1ba4 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Wed, 11 Jul 2007 19:41:18 -0700 Subject: [PATCH] --- yaml --- r: 59056 b: refs/heads/master c: 71bffe556c59a7865bf0b1ecd94530f1e296cdb0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/ethernet/eth.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a828857583b1..2ad634d94f2a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 50b65cc6fa3a69bdfbc8b3342d8ca6ddbbf5ec88 +refs/heads/master: 71bffe556c59a7865bf0b1ecd94530f1e296cdb0 diff --git a/trunk/net/ethernet/eth.c b/trunk/net/ethernet/eth.c index 1387e5411f77..12c765715acf 100644 --- a/trunk/net/ethernet/eth.c +++ b/trunk/net/ethernet/eth.c @@ -266,8 +266,11 @@ void eth_header_cache_update(struct hh_cache *hh, struct net_device *dev, static int eth_mac_addr(struct net_device *dev, void *p) { struct sockaddr *addr = p; + if (netif_running(dev)) return -EBUSY; + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); return 0; }