summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/realtek.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/net/realtek.c')
-rw-r--r--src/drivers/net/realtek.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/drivers/net/realtek.c b/src/drivers/net/realtek.c
index f7b5ec58..1fd3931b 100644
--- a/src/drivers/net/realtek.c
+++ b/src/drivers/net/realtek.c
@@ -724,8 +724,8 @@ static int realtek_transmit ( struct net_device *netdev,
/* Get next transmit descriptor */
if ( ( rtl->tx.prod - rtl->tx.cons ) >= RTL_NUM_TX_DESC ) {
- DBGC ( rtl, "REALTEK %p out of transmit descriptors\n", rtl );
- return -ENOBUFS;
+ netdev_tx_defer ( netdev, iobuf );
+ return 0;
}
tx_idx = ( rtl->tx.prod++ % RTL_NUM_TX_DESC );
@@ -809,8 +809,8 @@ static void realtek_poll_tx ( struct net_device *netdev ) {
DBGC2 ( rtl, "REALTEK %p TX %d complete\n", rtl, tx_idx );
/* Complete TX descriptor */
- netdev_tx_complete_next ( netdev );
rtl->tx.cons++;
+ netdev_tx_complete_next ( netdev );
}
}