[ar71xx] ag71xx driver: don't flush ddr on tx path
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16817 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
2bcba1b55c
commit
a9c43c0abb
|
@ -457,19 +457,13 @@ static int ag71xx_stop(struct net_device *dev)
|
||||||
static int ag71xx_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
static int ag71xx_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
{
|
{
|
||||||
struct ag71xx *ag = netdev_priv(dev);
|
struct ag71xx *ag = netdev_priv(dev);
|
||||||
struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
|
|
||||||
struct ag71xx_ring *ring = &ag->tx_ring;
|
struct ag71xx_ring *ring = &ag->tx_ring;
|
||||||
struct ag71xx_desc *desc;
|
struct ag71xx_desc *desc;
|
||||||
unsigned long flags;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
i = ring->curr % AG71XX_TX_RING_SIZE;
|
i = ring->curr % AG71XX_TX_RING_SIZE;
|
||||||
desc = &ring->descs[i];
|
desc = &ring->descs[i];
|
||||||
|
|
||||||
spin_lock_irqsave(&ag->lock, flags);
|
|
||||||
pdata->ddr_flush();
|
|
||||||
spin_unlock_irqrestore(&ag->lock, flags);
|
|
||||||
|
|
||||||
if (!ag71xx_desc_empty(desc))
|
if (!ag71xx_desc_empty(desc))
|
||||||
goto err_drop;
|
goto err_drop;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue