1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-25 09:17:42 +02:00

ar71xx: merge ethernet driver fixes from r22054, r22055

git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@22056 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2010-07-04 02:20:05 +00:00
parent 5595270795
commit 3b5ec501f5

View File

@ -435,6 +435,12 @@ static void ag71xx_dma_reset(struct ag71xx *ag)
ag71xx_wr(ag, AG71XX_REG_RX_CTRL, 0); ag71xx_wr(ag, AG71XX_REG_RX_CTRL, 0);
ag71xx_wr(ag, AG71XX_REG_TX_CTRL, 0); ag71xx_wr(ag, AG71XX_REG_TX_CTRL, 0);
/*
* give the hardware some time to really stop all rx/tx activity
* clearing the descriptors too early causes random memory corruption
*/
mdelay(1);
/* clear descriptor addresses */ /* clear descriptor addresses */
ag71xx_wr(ag, AG71XX_REG_TX_DESC, 0); ag71xx_wr(ag, AG71XX_REG_TX_DESC, 0);
ag71xx_wr(ag, AG71XX_REG_RX_DESC, 0); ag71xx_wr(ag, AG71XX_REG_RX_DESC, 0);
@ -554,6 +560,8 @@ static int ag71xx_open(struct net_device *dev)
if (ret) if (ret)
goto err; goto err;
ag71xx_hw_init(ag);
napi_enable(&ag->napi); napi_enable(&ag->napi);
netif_carrier_off(dev); netif_carrier_off(dev);