if (wake_en)
                        val |= SDW_SCP_SYSTEMCTRL_WAKE_UP_EN;
        } else {
-               val = sdw_read_no_pm(slave, SDW_SCP_SYSTEMCTRL);
-
+               ret = sdw_read_no_pm(slave, SDW_SCP_SYSTEMCTRL);
+               if (ret < 0) {
+                       dev_err(&slave->dev, "SDW_SCP_SYSTEMCTRL read failed:%d\n", ret);
+                       return ret;
+               }
+               val = ret;
                val &= ~(SDW_SCP_SYSTEMCTRL_CLK_STP_PREP);
        }
 
        int val;
 
        do {
-               val = sdw_bread_no_pm(bus, dev_num, SDW_SCP_STAT) &
-                       SDW_SCP_STAT_CLK_STP_NF;
+               val = sdw_bread_no_pm(bus, dev_num, SDW_SCP_STAT);
+               if (val < 0) {
+                       dev_err(bus->dev, "SDW_SCP_STAT bread failed:%d\n", val);
+                       return val;
+               }
+               val &= SDW_SCP_STAT_CLK_STP_NF;
                if (!val) {
                        dev_info(bus->dev, "clock stop prep/de-prep done slave:%d",
                                 dev_num);