From 4c64c4db3b87818318ed8b4cd6907c508aaf04ce Mon Sep 17 00:00:00 2001 From: Oleksandr Tymoshenko Date: Fri, 1 Jul 2016 13:22:00 -0700 Subject: [PATCH] net: rtl8169: Fix return value for rtl_send_common Return value of rtl_send_common propogates unmodified all the way up to eth_send and further to API consumer if CONFIG_API is enabled. Previously rtl_send_common returned number of bytes sent on success which was erroneouly detected as error condition by API consumers that checked for operation success by comparing return value with 0. Switch rtl_send_common to use common convention: return 0 on success and negative value for failure. Cc: Stephen Warren Cc: Joe Hershberger Signed-off-by: Oleksandr Tymoshenko Reviewed-by: Simon Glass Acked-by: Joe Hershberger --- drivers/net/rtl8169.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/rtl8169.c b/drivers/net/rtl8169.c index 843b083f8f..1cc0b40935 100644 --- a/drivers/net/rtl8169.c +++ b/drivers/net/rtl8169.c @@ -666,12 +666,12 @@ static int rtl_send_common(pci_dev_t dev, unsigned long dev_iobase, puts("tx timeout/error\n"); printf("%s elapsed time : %lu\n", __func__, currticks()-stime); #endif - ret = 0; + ret = -ETIMEDOUT; } else { #ifdef DEBUG_RTL8169_TX puts("tx done\n"); #endif - ret = length; + ret = 0; } /* Delay to make net console (nc) work properly */ udelay(20); -- 2.39.5