sdw_extract_slave_id(bus, addr, &id);
                found = false;
+               ctrl->clock_stop_not_supported = false;
                /* Now compare with entries */
                list_for_each_entry_safe(slave, _s, &bus->slaves, node) {
                        if (sdw_compare_devid(slave, id) == 0) {
                                qcom_swrm_set_slave_dev_num(bus, slave, i);
+                               if (slave->prop.clk_stop_mode1)
+                                       ctrl->clock_stop_not_supported = true;
+
                                found = true;
                                break;
                        }
        pm_runtime_set_active(dev);
        pm_runtime_enable(dev);
 
-       /* Clk stop is not supported on WSA Soundwire masters */
-       if (ctrl->version <= SWRM_VERSION_1_3_0) {
-               ctrl->clock_stop_not_supported = true;
-       } else {
-               ctrl->reg_read(ctrl, SWRM_COMP_MASTER_ID, &val);
-               if (val == MASTER_ID_WSA)
-                       ctrl->clock_stop_not_supported = true;
-       }
-
 #ifdef CONFIG_DEBUG_FS
        ctrl->debugfs = debugfs_create_dir("qualcomm-sdw", ctrl->bus.debugfs);
        debugfs_create_file("qualcomm-registers", 0400, ctrl->debugfs, ctrl,