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>
diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c
index ca41446..c1898ad 100644
--- a/drivers/firewire/net.c
+++ b/drivers/firewire/net.c
@@ -1295,9 +1295,12 @@
 /* ifdown */
 static int fwnet_stop(struct net_device *net)
 {
+	struct fwnet_device *dev = netdev_priv(net);
+
 	netif_stop_queue(net);
 
-	/* Deallocate iso context for use by other applications? */
+	fwnet_broadcast_stop(dev);
+	fwnet_fifo_stop(dev);
 
 	return 0;
 }
@@ -1638,9 +1641,6 @@
 	if (list_empty(&dev->peer_list)) {
 		unregister_netdev(net);
 
-		fwnet_fifo_stop(dev);
-		fwnet_broadcast_stop(dev);
-
 		for (i = 0; dev->queued_datagrams && i < 5; i++)
 			ssleep(1);
 		WARN_ON(dev->queued_datagrams);