OpenCloudOS-Kernel/drivers/net/netxen
Dhananjay Phadke cb2107be43 netxen: fix tx ring accounting
This forces every update of tx ring producer to check for
availability of space for next full TSO command. Earlier
firmware control commands didn't care to pause tx queue.

Stop the tx queue if there's not enough space to transmit one full
LSO command left on the tx ring after current transmit. This avoids
returning NETDEV_TX_BUSY after checking distance between producer
and consumer on every cpu.

Restart the tx queue only if we have cleaned up enough tx
descriptors.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-18 00:46:14 -07:00
..
Makefile netxen: update copyright 2009-02-27 01:00:44 -08:00
netxen_nic.h netxen: fix tx ring accounting 2009-06-18 00:46:14 -07:00
netxen_nic_ctx.c netxen: refactor netxen_recv_context struct 2009-04-28 22:44:31 -07:00
netxen_nic_ethtool.c netxen: fix link event handling 2009-04-28 22:44:30 -07:00
netxen_nic_hdr.h netxen: fix detection of cut-thru firmware mode 2009-06-18 00:46:14 -07:00
netxen_nic_hw.c netxen: fix tx ring accounting 2009-06-18 00:46:14 -07:00
netxen_nic_hw.h netxen: fix bonding support 2009-05-06 15:33:36 -07:00
netxen_nic_init.c netxen: fix tx ring accounting 2009-06-18 00:46:14 -07:00
netxen_nic_main.c netxen: fix tx ring accounting 2009-06-18 00:46:14 -07:00
netxen_nic_niu.c netxen: fix bonding support 2009-05-06 15:33:36 -07:00
netxen_nic_phan_reg.h netxen: fix link event handling 2009-04-28 22:44:30 -07:00