From 07ac7cd9fcc6bb6228528dbe01c7fe1a0a1fc53c Mon Sep 17 00:00:00 2001 From: Bard Liao Date: Fri, 13 Dec 2019 09:26:21 +0800 Subject: [PATCH] soundwire: test is_slave before list_for_each_entry(slave, &bus->slaves, node) We don't need to test each slave's status if we already know there is no slave attached. Signed-off-by: Bard Liao --- drivers/soundwire/bus.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c index cbc83b36e9bc50..b58df4de3f817e 100644 --- a/drivers/soundwire/bus.c +++ b/drivers/soundwire/bus.c @@ -890,6 +890,10 @@ int sdw_bus_prep_clk_stop(struct sdw_bus *bus) return ret; } + /* Don't need to inform slaves if there is no slave attached */ + if (!is_slave) + return ret; + /* Inform slaves that prep is done */ list_for_each_entry(slave, &bus->slaves, node) { if (!slave->dev_num) @@ -1006,6 +1010,13 @@ int sdw_bus_exit_clk_stop(struct sdw_bus *bus) if (is_slave && !simple_clk_stop) sdw_bus_wait_for_clk_prep_deprep(bus, SDW_BROADCAST_DEV_NUM); + /* + * Don't need to call slave callback function if there is no slave + * attached + */ + if (!is_slave) + return 0; + list_for_each_entry(slave, &bus->slaves, node) { if (!slave->dev_num) continue;