From c31db1e47cdade66c15f292ae1fa50fa158e53eb Mon Sep 17 00:00:00 2001 From: YOSHIFUJI Hideaki Date: Fri, 8 Mar 2013 10:42:38 +0900 Subject: [PATCH] --- yaml --- r: 368630 b: refs/heads/master c: b9a8871ac2aab0cc87190f1ab870785b32cc24aa h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/firewire/net.c | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index ec5311aa880a..761604cde61c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9d39c90abc6766f875d2855a1a73c43b6ffa09c0 +refs/heads/master: b9a8871ac2aab0cc87190f1ab870785b32cc24aa diff --git a/trunk/drivers/firewire/net.c b/trunk/drivers/firewire/net.c index 96f6ee5bffd4..fbd07ebd3f5f 100644 --- a/trunk/drivers/firewire/net.c +++ b/trunk/drivers/firewire/net.c @@ -1156,10 +1156,6 @@ static int fwnet_broadcast_start(struct fwnet_device *dev) unsigned long offset; unsigned u; - retval = fwnet_fifo_start(dev); - if (retval < 0) - goto failed_initial; - max_receive = 1U << (dev->card->max_receive + 1); num_packets = (FWNET_ISO_PAGE_COUNT * PAGE_SIZE) / max_receive; @@ -1240,8 +1236,6 @@ static int fwnet_broadcast_start(struct fwnet_device *dev) fw_iso_context_destroy(context); dev->broadcast_rcv_context = NULL; failed_context_create: - fwnet_fifo_stop(dev); - failed_initial: return retval; } @@ -1260,10 +1254,14 @@ static int fwnet_open(struct net_device *net) struct fwnet_device *dev = netdev_priv(net); int ret; + ret = fwnet_fifo_start(dev); + if (ret) + return ret; + if (dev->broadcast_state == FWNET_BROADCAST_ERROR) { ret = fwnet_broadcast_start(dev); if (ret) - return ret; + goto out; } netif_start_queue(net); @@ -1272,6 +1270,9 @@ static int fwnet_open(struct net_device *net) spin_unlock_irq(&dev->lock); return 0; +out: + fwnet_fifo_stop(dev); + return ret; } /* ifdown */