Merge branch 'systemport-net'
Florian Fainelli says: ==================== net: systemport: RX path and suspend fixes These two patches fix a race condition where we have our RX interrupts enabled, but not NAPI for the RX path, and the second patch fixes an issue for packets stuck in RX fifo during a suspend/resume cycle. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
9ffa1fcaef
|
@ -1397,6 +1397,9 @@ static void bcm_sysport_netif_start(struct net_device *dev)
|
|||
/* Enable NAPI */
|
||||
napi_enable(&priv->napi);
|
||||
|
||||
/* Enable RX interrupt and TX ring full interrupt */
|
||||
intrl2_0_mask_clear(priv, INTRL2_0_RDMA_MBDONE | INTRL2_0_TX_RING_FULL);
|
||||
|
||||
phy_start(priv->phydev);
|
||||
|
||||
/* Enable TX interrupts for the 32 TXQs */
|
||||
|
@ -1499,9 +1502,6 @@ static int bcm_sysport_open(struct net_device *dev)
|
|||
if (ret)
|
||||
goto out_free_rx_ring;
|
||||
|
||||
/* Enable RX interrupt and TX ring full interrupt */
|
||||
intrl2_0_mask_clear(priv, INTRL2_0_RDMA_MBDONE | INTRL2_0_TX_RING_FULL);
|
||||
|
||||
/* Turn on TDMA */
|
||||
ret = tdma_enable_set(priv, 1);
|
||||
if (ret)
|
||||
|
@ -1858,6 +1858,8 @@ static int bcm_sysport_resume(struct device *d)
|
|||
if (!netif_running(dev))
|
||||
return 0;
|
||||
|
||||
umac_reset(priv);
|
||||
|
||||
/* We may have been suspended and never received a WOL event that
|
||||
* would turn off MPD detection, take care of that now
|
||||
*/
|
||||
|
@ -1885,9 +1887,6 @@ static int bcm_sysport_resume(struct device *d)
|
|||
|
||||
netif_device_attach(dev);
|
||||
|
||||
/* Enable RX interrupt and TX ring full interrupt */
|
||||
intrl2_0_mask_clear(priv, INTRL2_0_RDMA_MBDONE | INTRL2_0_TX_RING_FULL);
|
||||
|
||||
/* RX pipe enable */
|
||||
topctrl_writel(priv, 0, RX_FLUSH_CNTL);
|
||||
|
||||
|
|
Loading…
Reference in New Issue