From: Claudiu Manoil <claudiu.man...@freescale.com> Date: Wed, 6 May 2015 18:07:29 +0300
> Handle TxFIFO underrun exceptions outside the fast path. > A controller reset is more reliable in this exceptional > case, as opposed to re-enabling on-the-fly the Tx DMA. > > As the controller reset is handled outside the fast path > by the reset_gfar() workqueue handler, the locking > scheme on the Tx path is significantly simplified. > Because the Tx processing (xmit queues and tx napi) is > disabled during controller reset, tstat access from xmit > does not require locking. So the scope of the txlock on > the processing path is now reduced to num_txbdfree, which > is shared only between process context (xmit) and softirq > (clean_tx_ring). As a result, the txlock must not guard > against interrupt context, and the spin_lock_irqsave() > from xmit can be replaced by spin_lock_bh(). Likewise, > the locking has been downgraded for clean_tx_ring(). > > Signed-off-by: Claudiu Manoil <claudiu.man...@freescale.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html