diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2011-05-16 11:07:45 +1000 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2011-05-16 11:07:45 +1000 |
commit | ffa674656ebf63a1c744264546a30ec98ec43382 (patch) | |
tree | eebedce9cea7da1d295f67f840464474e4c532cb /drivers | |
parent | a35ce6ad6459b512b4ed4935a760c07d971382f8 (diff) | |
parent | d2e48c1d4184a0baa4bf09920b63661e0b860b8c (diff) |
Merge remote-tracking branch 'tile/master'
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/tile/tilepro.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/tile/tilepro.c b/drivers/net/tile/tilepro.c index 0825db6d883f..314f7e79c640 100644 --- a/drivers/net/tile/tilepro.c +++ b/drivers/net/tile/tilepro.c @@ -1658,11 +1658,9 @@ static int tile_net_stop(struct net_device *dev) while (tile_net_lepp_free_comps(dev, true)) /* loop */; - /* Wipe the EPP queue. */ + /* Wipe the EPP queue, and wait till the stores hit the EPP. */ memset(priv->eq, 0, sizeof(lepp_queue_t)); - - /* Evict the EPP queue. */ - finv_buffer(priv->eq, EQ_SIZE); + mb(); return 0; } @@ -2398,7 +2396,7 @@ static void tile_net_cleanup(void) struct net_device *dev = tile_net_devs[i]; struct tile_net_priv *priv = netdev_priv(dev); unregister_netdev(dev); - finv_buffer(priv->eq, EQ_SIZE); + finv_buffer_remote(priv->eq, EQ_SIZE, 0); __free_pages(priv->eq_pages, EQ_ORDER); free_netdev(dev); } |