mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 1/4] net/e1000: Map custom error codes to more appropriate errno values
@ 2018-12-13  7:03 Andrey Smirnov
  2018-12-13  7:03 ` [PATCH 2/4] net/e1000: Do not discard EEPROM error code in e1000_setup_link() Andrey Smirnov
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Andrey Smirnov @ 2018-12-13  7:03 UTC (permalink / raw)
  To: barebox; +Cc: Andrey Smirnov

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>
---
 drivers/net/e1000/e1000.h | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h
index 4a1a1aa33..0a9e107c0 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
-- 
2.19.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-01-04 11:16 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-13  7:03 [PATCH 1/4] net/e1000: Map custom error codes to more appropriate errno values Andrey Smirnov
2018-12-13  7:03 ` [PATCH 2/4] net/e1000: Do not discard EEPROM error code in e1000_setup_link() Andrey Smirnov
2018-12-13  7:03 ` [PATCH 3/4] net/e1000: Use dev_err to report error Andrey Smirnov
2018-12-13  7:03 ` [PATCH 4/4] net/e1000: Only read EEPROM_INIT_CONTROL2_REG if it is needed Andrey Smirnov
2018-12-17  9:42 ` [PATCH 1/4] net/e1000: Map custom error codes to more appropriate errno values Sascha Hauer
2019-01-03 15:31 ` Roland Hieber
2019-01-04  1:47   ` Andrey Smirnov
2019-01-04 11:16     ` Roland Hieber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox