I assert that with lockless transmit (ie NETIF_F_LLTX) it is possible for two cpu's to race with the transmit flow control (netif_stop_queue/netif_wake_queue). I see it with sky2, and probably could reproduce with tg3 as well.
A. CPU is in middle of building up a transmit, B. CPU gets packet and passes netif_queue_stopped test A. CPU completes transmit and since tx queue is full sets stopped B. tests for tx queue full and.... This will cause the driver to return DEVICE_BUSY Tg3, skge, sky2 and rionet all print message, that this is a BUG! but it is just losing a corner case race, and should be silent. -- Stephen Hemminger <[EMAIL PROTECTED]> OSDL http://developer.osdl.org/~shemminger - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html