summaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2018-12-12 23:03:33 -0800
committerSascha Hauer <s.hauer@pengutronix.de>2018-12-17 10:41:56 +0100
commit1f5c33154d90db41489983152351e6410586482e (patch)
tree15d72e5a8214eeb788793f5779aced483db0b2ec /drivers/net/e1000
parent67e8215eea2c44f769750dfa1f47405af6009242 (diff)
downloadbarebox-1f5c33154d90db41489983152351e6410586482e.tar.gz
barebox-1f5c33154d90db41489983152351e6410586482e.tar.xz
net/e1000: Map custom error codes to more appropriate errno values
A number of custom error codes used by e1000 driver will be propagated all the way up to generic networking code and will end up being fed to strerror(). As a result of that, some of the current error codes will result in not very helpful failure messages. For example, trying to ping a host on a system where access to i210's EEPROM fails results in the following message: barebox@ZII RDU2 Board:/ ping 192.168.53.7 ping failed: Operation not permitted In order to make message like that one a little bit more helpful, change definitions of various E1000_ERR_* constants to map to a bit more appropriate error codes. While at it, remove E1000_ERR_MASTER_REQUESTS_PENDING and E1000_ERR_HOST_INTERFACE_COMMAND that are not referenced anywhere in the codebase. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r--drivers/net/e1000/e1000.h24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h
index 4a1a1aa336..0a9e107c07 100644
--- a/drivers/net/e1000/e1000.h
+++ b/drivers/net/e1000/e1000.h
@@ -95,19 +95,17 @@ typedef enum {
/* Error Codes */
#define E1000_SUCCESS 0
-#define E1000_ERR_EEPROM 1
-#define E1000_ERR_PHY 2
-#define E1000_ERR_CONFIG 3
-#define E1000_ERR_PARAM 4
-#define E1000_ERR_MAC_TYPE 5
-#define E1000_ERR_PHY_TYPE 6
-#define E1000_ERR_NOLINK 7
-#define E1000_ERR_TIMEOUT 8
-#define E1000_ERR_RESET 9
-#define E1000_ERR_MASTER_REQUESTS_PENDING 10
-#define E1000_ERR_HOST_INTERFACE_COMMAND 11
-#define E1000_BLK_PHY_RESET 12
-#define E1000_ERR_SWFW_SYNC 13
+#define E1000_ERR_EEPROM EIO
+#define E1000_ERR_PHY EIO
+#define E1000_ERR_CONFIG EINVAL
+#define E1000_ERR_PARAM EINVAL
+#define E1000_ERR_MAC_TYPE EINVAL
+#define E1000_ERR_PHY_TYPE EINVAL
+#define E1000_ERR_NOLINK ENETDOWN
+#define E1000_ERR_TIMEOUT ETIMEDOUT
+#define E1000_ERR_RESET EIO
+#define E1000_BLK_PHY_RESET EWOULDBLOCK
+#define E1000_ERR_SWFW_SYNC EBUSY
/* PCI Device IDs */
#define E1000_DEV_ID_82542 0x1000