aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/net.c
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2013-03-07 20:45:57 -0500
committerStefan Richter <stefanr@s5r6.in-berlin.de>2013-03-13 11:11:12 -0400
commit8559e7f0694e3fb192aab00a495be5a510afc8c3 (patch)
tree56f62f2429cdcff407aed73e554d91c15ffa4665 /drivers/firewire/net.c
parent111534cd7a376b75e72ddea0c6d00ec956ce3343 (diff)
firewire net: Release broadcast/fifo resources on ifdown.
Since those resources are allocated on ifup, relsase them on ifdown. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/net.c')
-rw-r--r--drivers/firewire/net.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c
index ca41446d62f4..c1898adeb900 100644
--- a/drivers/firewire/net.c
+++ b/drivers/firewire/net.c
@@ -1295,9 +1295,12 @@ out:
1295/* ifdown */ 1295/* ifdown */
1296static int fwnet_stop(struct net_device *net) 1296static int fwnet_stop(struct net_device *net)
1297{ 1297{
1298 struct fwnet_device *dev = netdev_priv(net);
1299
1298 netif_stop_queue(net); 1300 netif_stop_queue(net);
1299 1301
1300 /* Deallocate iso context for use by other applications? */ 1302 fwnet_broadcast_stop(dev);
1303 fwnet_fifo_stop(dev);
1301 1304
1302 return 0; 1305 return 0;
1303} 1306}
@@ -1638,9 +1641,6 @@ static int fwnet_remove(struct device *_dev)
1638 if (list_empty(&dev->peer_list)) { 1641 if (list_empty(&dev->peer_list)) {
1639 unregister_netdev(net); 1642 unregister_netdev(net);
1640 1643
1641 fwnet_fifo_stop(dev);
1642 fwnet_broadcast_stop(dev);
1643
1644 for (i = 0; dev->queued_datagrams && i < 5; i++) 1644 for (i = 0; dev->queued_datagrams && i < 5; i++)
1645 ssleep(1); 1645 ssleep(1);
1646 WARN_ON(dev->queued_datagrams); 1646 WARN_ON(dev->queued_datagrams);