summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0d043d3)
when open device. first ready napi software rx.
then enable hardware interrupt.
final start software tx queue to send data.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 45894
goto err_out;
spin_lock_irqsave(&priv->page_lock, flags);
goto err_out;
spin_lock_irqsave(&priv->page_lock, flags);
- napi_enable(&priv->rx_napi);
val = FE_TX_WB_DDONE | FE_RX_DMA_EN | FE_TX_DMA_EN;
if (priv->flags & FE_FLAG_RX_2B_OFFSET)
val = FE_TX_WB_DDONE | FE_RX_DMA_EN | FE_TX_DMA_EN;
if (priv->flags & FE_FLAG_RX_2B_OFFSET)
if (priv->soc->has_carrier && priv->soc->has_carrier(priv))
netif_carrier_on(dev);
if (priv->soc->has_carrier && priv->soc->has_carrier(priv))
netif_carrier_on(dev);
- netif_start_queue(dev);
+ napi_enable(&priv->rx_napi);
fe_int_enable(priv->soc->tx_int | priv->soc->rx_int);
fe_int_enable(priv->soc->tx_int | priv->soc->rx_int);
+ netif_start_queue(dev);
unsigned long flags;
int i;
unsigned long flags;
int i;
- fe_int_disable(priv->soc->tx_int | priv->soc->rx_int);
-
+ fe_int_disable(priv->soc->tx_int | priv->soc->rx_int);
+ napi_disable(&priv->rx_napi);
if (priv->phy)
priv->phy->stop(priv);
spin_lock_irqsave(&priv->page_lock, flags);
if (priv->phy)
priv->phy->stop(priv);
spin_lock_irqsave(&priv->page_lock, flags);
- napi_disable(&priv->rx_napi);
fe_reg_w32(fe_reg_r32(FE_REG_PDMA_GLO_CFG) &
~(FE_TX_WB_DDONE | FE_RX_DMA_EN | FE_TX_DMA_EN),
fe_reg_w32(fe_reg_r32(FE_REG_PDMA_GLO_CFG) &
~(FE_TX_WB_DDONE | FE_RX_DMA_EN | FE_TX_DMA_EN),