diff options
author | Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> | 2019-07-26 01:40:10 +0200 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2019-08-02 18:59:38 +0200 |
commit | 15ed3ea2280e3afaea82afa664a6d1adc65b0009 (patch) | |
tree | a5353ac173d9b2759004744b85f23b09e1d294ca /drivers/soundwire | |
parent | soundwire: cadence_master: simplify bus clash interrupt clear (diff) | |
download | linux-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.c | 5 |
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 */ |