Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9a8871a authored by YOSHIFUJI Hideaki's avatar YOSHIFUJI Hideaki Committed by Stefan Richter
Browse files

firewire net: Setup broadcast and local fifo independently.

parent 9d39c90a
Loading
Loading
Loading
Loading
+8 −7
Original line number Original line Diff line number Diff line
@@ -1156,10 +1156,6 @@ static int fwnet_broadcast_start(struct fwnet_device *dev)
	unsigned long offset;
	unsigned long offset;
	unsigned u;
	unsigned u;


	retval = fwnet_fifo_start(dev);
	if (retval < 0)
		goto failed_initial;

	max_receive = 1U << (dev->card->max_receive + 1);
	max_receive = 1U << (dev->card->max_receive + 1);
	num_packets = (FWNET_ISO_PAGE_COUNT * PAGE_SIZE) / max_receive;
	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);
	fw_iso_context_destroy(context);
	dev->broadcast_rcv_context = NULL;
	dev->broadcast_rcv_context = NULL;
 failed_context_create:
 failed_context_create:
	fwnet_fifo_stop(dev);
 failed_initial:


	return retval;
	return retval;
}
}
@@ -1260,10 +1254,14 @@ static int fwnet_open(struct net_device *net)
	struct fwnet_device *dev = netdev_priv(net);
	struct fwnet_device *dev = netdev_priv(net);
	int ret;
	int ret;


	ret = fwnet_fifo_start(dev);
	if (ret)
		return ret;

	if (dev->broadcast_state == FWNET_BROADCAST_ERROR) {
	if (dev->broadcast_state == FWNET_BROADCAST_ERROR) {
		ret = fwnet_broadcast_start(dev);
		ret = fwnet_broadcast_start(dev);
		if (ret)
		if (ret)
			return ret;
			goto out;
	}
	}
	netif_start_queue(net);
	netif_start_queue(net);


@@ -1272,6 +1270,9 @@ static int fwnet_open(struct net_device *net)
	spin_unlock_irq(&dev->lock);
	spin_unlock_irq(&dev->lock);


	return 0;
	return 0;
out:
	fwnet_fifo_stop(dev);
	return ret;
}
}


/* ifdown */
/* ifdown */