[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1439539107-13638-1-git-send-email-corcodel.marian@gmail.com>
Date: Fri, 14 Aug 2015 10:58:27 +0300
From: Corcodel Marian <corcodel.marian@...il.com>
To: netdev@...r.kernel.org
Cc: Corcodel Marian <corcodel.marian@...il.com>
Subject: [PATCH net-next]r8169.c: Force transmission when nic refuse to start.
Brute force transmission when Rx interrupt exist on
interface is up. Guaranteed to start on full duplex and not maximum
speed.When set half duplex working same without this patch.
For apply this patch set --whitespace=warn
Signed-off-by: Corcodel Marian <corcodel.marian@...il.com>
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index eb2d2a4..6882eab 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -7470,15 +7470,22 @@ static int rtl8169_poll(struct napi_struct *napi, int budget)
u16 enable_mask = RTL_EVENT_NAPI | tp->event_slow;
int work_done= 0;
u16 status;
+ int tx_force = 1;
status = rtl_get_events(tp);
rtl_ack_events(tp, status & ~tp->event_slow);
-
+ if (netif_running(dev)) {
if (status & RTL_EVENT_NAPI_RX)
work_done = rtl_rx(dev, tp, (u32) budget);
+
if (status & RTL_EVENT_NAPI_TX)
rtl_tx(dev, tp);
+ else if (tx_force == 1) {
+ mdelay(10);
+ rtl_tx(dev, tp);
+ }
+ }
if (status & tp->event_slow) {
enable_mask &= ~tp->event_slow;
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists