net: ethtool: Return -EOPNOTSUPP if user space tries to read EEPROM with lengh 0
authorGuenter Roeck <linux@roeck-us.net>
Fri, 31 Oct 2014 03:50:15 +0000 (20:50 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 31 Oct 2014 20:12:34 +0000 (16:12 -0400)
commite0fb6fb6d52686134b2ece144060219591d4f8d3
treeb7adfd022440c708a7654a47c9cb60e9f9e7dfbf
parent1e19e084eae727654052339757ab7f1eaff58bad
net: ethtool: Return -EOPNOTSUPP if user space tries to read EEPROM with lengh 0

If a driver supports reading EEPROM but no EEPROM is installed in the system,
the driver's get_eeprom_len function returns 0. ethtool will subsequently
try to read that zero-length EEPROM anyway. If the driver does not support
EEPROM access at all, this operation will return -EOPNOTSUPP. If the driver
does support EEPROM access but no EEPROM is installed, the operation will
return -EINVAL. Return -EOPNOTSUPP in both cases for consistency.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/ethtool.c