summaryrefslogtreecommitdiffstats
path: root/drivers/soundwire
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2019-07-26 01:40:10 +0200
committerVinod Koul <vkoul@kernel.org>2019-08-02 18:59:38 +0200
commit15ed3ea2280e3afaea82afa664a6d1adc65b0009 (patch)
treea5353ac173d9b2759004744b85f23b09e1d294ca /drivers/soundwire
parentsoundwire: cadence_master: simplify bus clash interrupt clear (diff)
downloadlinux-15ed3ea2280e3afaea82afa664a6d1adc65b0009.tar.xz
linux-15ed3ea2280e3afaea82afa664a6d1adc65b0009.zip
soundwire: bus: split handling of Device0 events
Assigning a device number to a Slave will result in additional events when it reports its status in a PING frame. There is no point in dealing with all the other devices in a loop, this can be done when a non-device0 event happens. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20190725234032.21152-19-pierre-louis.bossart@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/soundwire')
-rw-r--r--drivers/soundwire/bus.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c
index fe745830a261..49f64b2115b9 100644
--- a/drivers/soundwire/bus.c
+++ b/drivers/soundwire/bus.c
@@ -972,6 +972,11 @@ int sdw_handle_slave_status(struct sdw_bus *bus,
ret = sdw_program_device_num(bus);
if (ret)
dev_err(bus->dev, "Slave attach failed: %d\n", ret);
+ /*
+ * programming a device number will have side effects,
+ * so we deal with other devices at a later time
+ */
+ return ret;
}
/* Continue to check other slave statuses */