|
@@ -424,6 +424,14 @@ struct net_device * find_netdev_by_location ( unsigned int bus_type,
|
424
|
424
|
*/
|
425
|
425
|
int net_tx ( struct io_buffer *iobuf, struct net_device *netdev,
|
426
|
426
|
struct net_protocol *net_protocol, const void *ll_dest ) {
|
|
427
|
+
|
|
428
|
+ /* Force a poll on the netdevice to (potentially) clear any
|
|
429
|
+ * backed-up TX completions. This is needed on some network
|
|
430
|
+ * devices to avoid excessive losses due to small TX ring
|
|
431
|
+ * sizes.
|
|
432
|
+ */
|
|
433
|
+ netdev_poll ( netdev );
|
|
434
|
+
|
427
|
435
|
return netdev->ll_protocol->tx ( iobuf, netdev, net_protocol, ll_dest );
|
428
|
436
|
}
|
429
|
437
|
|