diff --git a/util/ectool.c b/util/ectool.c index bc6353640a..d42c6941f3 100644 --- a/util/ectool.c +++ b/util/ectool.c @@ -1688,6 +1688,14 @@ int cmd_thermal_set_threshold(int argc, char *argv[]) static int get_num_fans(void) { int idx, rv; + struct ec_response_get_features r; + + rv = ec_command(EC_CMD_GET_FEATURES, 0, NULL, 0, &r, sizeof(r)); + if (rv < 0) + return rv; + + if (!(r.flags[0] & (1 << EC_FEATURE_PWM_FAN))) + return 0; for (idx = 0; idx < EC_FAN_SPEED_ENTRIES; idx++) { rv = read_mapped_mem16(EC_MEMMAP_FAN + 2 * idx);