From e4b17ebd0d0aaaf7fbf6aabd7f0b9c9cc5a8d90c Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Sun, 15 Feb 2009 22:55:01 +0000 Subject: [PATCH] --- yaml --- r: 131699 b: refs/heads/master c: 196b7e1b9cca9e187bb61fa7d60f04f4ab2c0592 h: refs/heads/master i: 131697: 965f219ec4aae9d6417ddfed311359e10ce17945 131695: 5a3d700c2c62c9720405226aa35bd4937b4cf414 v: v3 --- [refs] | 2 +- trunk/drivers/net/smsc9420.c | 4 ++++ trunk/drivers/net/smsc9420.h | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 616ff6239a39..18a8fa6b7382 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 62660e28084df3d8067ab855f326d3027808c569 +refs/heads/master: 196b7e1b9cca9e187bb61fa7d60f04f4ab2c0592 diff --git a/trunk/drivers/net/smsc9420.c b/trunk/drivers/net/smsc9420.c index 83938e1953b0..4e15ae068b3f 100644 --- a/trunk/drivers/net/smsc9420.c +++ b/trunk/drivers/net/smsc9420.c @@ -413,6 +413,7 @@ static int smsc9420_ethtool_get_eeprom(struct net_device *dev, } memcpy(data, &eeprom_data[eeprom->offset], len); + eeprom->magic = SMSC9420_EEPROM_MAGIC; eeprom->len = len; return 0; } @@ -423,6 +424,9 @@ static int smsc9420_ethtool_set_eeprom(struct net_device *dev, struct smsc9420_pdata *pd = netdev_priv(dev); int ret; + if (eeprom->magic != SMSC9420_EEPROM_MAGIC) + return -EINVAL; + smsc9420_eeprom_enable_access(pd); smsc9420_eeprom_send_cmd(pd, E2P_CMD_EPC_CMD_EWEN_); ret = smsc9420_eeprom_write_location(pd, eeprom->offset, *data); diff --git a/trunk/drivers/net/smsc9420.h b/trunk/drivers/net/smsc9420.h index 69c351f93f86..e441402f77a2 100644 --- a/trunk/drivers/net/smsc9420.h +++ b/trunk/drivers/net/smsc9420.h @@ -44,6 +44,7 @@ #define LAN_REGISTER_EXTENT (0x400) #define SMSC9420_EEPROM_SIZE ((u32)11) +#define SMSC9420_EEPROM_MAGIC (0x9420) #define PKT_BUF_SZ (VLAN_ETH_FRAME_LEN + NET_IP_ALIGN + 4)