Commit 196b7e1b9cca9e187bb61fa7d60f04f4ab2c0592

Authored by Steve Glendinning
Committed by David S. Miller
1 parent 62660e2808

smsc9420: handle magic field of ethtool_eeprom

ethtool.h says the driver should set the magic field in get_eeprom and
verify it in set_eeprom.  This patch adds this functionality using an
arbitary driver-specific magic value constant (0x9420).

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 2 changed files with 5 additions and 0 deletions Side-by-side Diff

drivers/net/smsc9420.c
... ... @@ -413,6 +413,7 @@
413 413 }
414 414  
415 415 memcpy(data, &eeprom_data[eeprom->offset], len);
  416 + eeprom->magic = SMSC9420_EEPROM_MAGIC;
416 417 eeprom->len = len;
417 418 return 0;
418 419 }
... ... @@ -422,6 +423,9 @@
422 423 {
423 424 struct smsc9420_pdata *pd = netdev_priv(dev);
424 425 int ret;
  426 +
  427 + if (eeprom->magic != SMSC9420_EEPROM_MAGIC)
  428 + return -EINVAL;
425 429  
426 430 smsc9420_eeprom_enable_access(pd);
427 431 smsc9420_eeprom_send_cmd(pd, E2P_CMD_EPC_CMD_EWEN_);
drivers/net/smsc9420.h
... ... @@ -44,6 +44,7 @@
44 44 #define LAN_REGISTER_EXTENT (0x400)
45 45  
46 46 #define SMSC9420_EEPROM_SIZE ((u32)11)
  47 +#define SMSC9420_EEPROM_MAGIC (0x9420)
47 48  
48 49 #define PKT_BUF_SZ (VLAN_ETH_FRAME_LEN + NET_IP_ALIGN + 4)
49 50