diff options
-rw-r--r-- | drivers/net/smsc911x.c | 3 | ||||
-rw-r--r-- | include/linux/smsc911x.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c index ccdd196f5297..6a9f51d1d9f2 100644 --- a/drivers/net/smsc911x.c +++ b/drivers/net/smsc911x.c | |||
@@ -2071,6 +2071,9 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev) | |||
2071 | if (is_valid_ether_addr(dev->dev_addr)) { | 2071 | if (is_valid_ether_addr(dev->dev_addr)) { |
2072 | smsc911x_set_hw_mac_address(pdata, dev->dev_addr); | 2072 | smsc911x_set_hw_mac_address(pdata, dev->dev_addr); |
2073 | SMSC_TRACE(PROBE, "MAC Address is specified by configuration"); | 2073 | SMSC_TRACE(PROBE, "MAC Address is specified by configuration"); |
2074 | } else if (is_valid_ether_addr(pdata->config.mac)) { | ||
2075 | memcpy(dev->dev_addr, pdata->config.mac, 6); | ||
2076 | SMSC_TRACE(PROBE, "MAC Address specified by platform data"); | ||
2074 | } else { | 2077 | } else { |
2075 | /* Try reading mac address from device. if EEPROM is present | 2078 | /* Try reading mac address from device. if EEPROM is present |
2076 | * it will already have been set */ | 2079 | * it will already have been set */ |
diff --git a/include/linux/smsc911x.h b/include/linux/smsc911x.h index 5241e4fb4eca..7144e8aa1e41 100644 --- a/include/linux/smsc911x.h +++ b/include/linux/smsc911x.h | |||
@@ -30,6 +30,7 @@ struct smsc911x_platform_config { | |||
30 | unsigned int irq_type; | 30 | unsigned int irq_type; |
31 | unsigned int flags; | 31 | unsigned int flags; |
32 | phy_interface_t phy_interface; | 32 | phy_interface_t phy_interface; |
33 | unsigned char mac[6]; | ||
33 | }; | 34 | }; |
34 | 35 | ||
35 | /* Constants for platform_device irq polarity configuration */ | 36 | /* Constants for platform_device irq polarity configuration */ |