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

Commit cb257783 authored by Ross Lagerwall's avatar Ross Lagerwall Committed by David S. Miller
Browse files

xen-netfront: Fix mismatched rtnl_unlock



Fixes: f599c64f ("xen-netfront: Fix race between device setup and open")
Reported-by: default avatarBen Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: default avatarRoss Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 44a5cd43
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -1810,7 +1810,7 @@ static int talk_to_netback(struct xenbus_device *dev,
	err = xen_net_read_mac(dev, info->netdev->dev_addr);
	err = xen_net_read_mac(dev, info->netdev->dev_addr);
	if (err) {
	if (err) {
		xenbus_dev_fatal(dev, err, "parsing %s/mac", dev->nodename);
		xenbus_dev_fatal(dev, err, "parsing %s/mac", dev->nodename);
		goto out;
		goto out_unlocked;
	}
	}


	rtnl_lock();
	rtnl_lock();
@@ -1925,6 +1925,7 @@ static int talk_to_netback(struct xenbus_device *dev,
	xennet_destroy_queues(info);
	xennet_destroy_queues(info);
 out:
 out:
	rtnl_unlock();
	rtnl_unlock();
out_unlocked:
	device_unregister(&dev->dev);
	device_unregister(&dev->dev);
	return err;
	return err;
}
}