mp2_ops->start(privdata, info);
                cl_data->sensor_sts[i] = amd_sfh_wait_for_response
                                                (privdata, cl_data->sensor_idx[i], SENSOR_ENABLED);
+
+               if (cl_data->sensor_sts[i] == SENSOR_ENABLED)
+                       cl_data->is_any_sensor_enabled = true;
+       }
+
+       if (!cl_data->is_any_sensor_enabled ||
+           (mp2_ops->discovery_status && mp2_ops->discovery_status(privdata) == 0)) {
+               dev_warn(dev, "Failed to discover, sensors not enabled is %d\n",
+                        cl_data->is_any_sensor_enabled);
+               rc = -EOPNOTSUPP;
+               goto cleanup;
        }
 
        for (i = 0; i < cl_data->num_hid_devices; i++) {
                cl_data->cur_hid_dev = i;
                if (cl_data->sensor_sts[i] == SENSOR_ENABLED) {
-                       cl_data->is_any_sensor_enabled = true;
                        rc = amdtp_hid_probe(i, cl_data);
                        if (rc)
                                goto cleanup;
                        cl_data->sensor_sts[i]);
        }
 
-       if (!cl_data->is_any_sensor_enabled ||
-          (mp2_ops->discovery_status && mp2_ops->discovery_status(privdata) == 0)) {
-               dev_warn(dev, "Failed to discover, sensors not enabled is %d\n", cl_data->is_any_sensor_enabled);
-               rc = -EOPNOTSUPP;
-               goto cleanup;
-       }
        schedule_delayed_work(&cl_data->work_buffer, msecs_to_jiffies(AMD_SFH_IDLE_LOOP));
        return 0;