Commit 6aa6f8ca authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull soundwire fix from Vinod Koul:

 - Fix for irq domain creation race in the core

* tag 'soundwire-6.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
  soundwire: bus: Fix race on the creation of the IRQ domain
parents e72e784f fd15594b
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -122,6 +122,10 @@ int sdw_bus_master_add(struct sdw_bus *bus, struct device *parent,
	set_bit(SDW_GROUP13_DEV_NUM, bus->assigned);
	set_bit(SDW_MASTER_DEV_NUM, bus->assigned);

	ret = sdw_irq_create(bus, fwnode);
	if (ret)
		return ret;

	/*
	 * SDW is an enumerable bus, but devices can be powered off. So,
	 * they won't be able to report as present.
@@ -138,6 +142,7 @@ int sdw_bus_master_add(struct sdw_bus *bus, struct device *parent,

	if (ret < 0) {
		dev_err(bus->dev, "Finding slaves failed:%d\n", ret);
		sdw_irq_delete(bus);
		return ret;
	}

@@ -156,10 +161,6 @@ int sdw_bus_master_add(struct sdw_bus *bus, struct device *parent,
	bus->params.curr_bank = SDW_BANK0;
	bus->params.next_bank = SDW_BANK1;

	ret = sdw_irq_create(bus, fwnode);
	if (ret)
		return ret;

	return 0;
}
EXPORT_SYMBOL(sdw_bus_master_add);