soundwire: bus: split handling of Device0 events
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 25 Jul 2019 23:40:10 +0000 (18:40 -0500)
committerVinod Koul <vkoul@kernel.org>
Fri, 2 Aug 2019 16:59:38 +0000 (22:29 +0530)
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>
drivers/soundwire/bus.c

index fe74583..49f64b2 100644 (file)
@@ -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 */