tg3 needs to kfree the skb too, leading to my comment "some existing
drivers get this wrong too". Requeueing the skb only occurs in -some-
packet schedulers, not all. So drivers cannot depend on the net stack
doing what you want in all cases. Conditional correct behavior or
leak.. :/

I see lots of hard-start-xmit errors for e1000 and e100 in 2.4.25,
and it's very nice to be able to retry. Lets fix the broken callers
instead of making the drivers less useful.
You can see this yourself with pktgen. Here is the code in pktgen
where I see the printouts...if this is my bug, please let me know!
spin_lock_bh(&odev->xmit_lock);
if (!netif_queue_stopped(odev)) {
if (odev->hard_start_xmit(next->skb, odev)) {
if (net_ratelimit()) {
printk(KERN_INFO "Hard xmit
error\n");
}
Ben
--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com