Здравствуйте. Количество оборотов регулирует непосредственно блок управления двигателем и выставляет он это количество исходя из полученных данных об условиях работы мотора. Если лампа неисправности двигателя не горит это говорит об исправности всех датчиков, но возможно какой то из низ и даёт некорректные данные (однако учитывая что прогретый мотор работает нормально этот вариант маловероятен. Я бы рекомендовал сделать диагностику с возможностью просмотра параметров работы двигателя и произвести чистку дроссельного узла.
Россия, Subaru Legacy