diff --git a/src/rp2_common/hardware_spi/spi.c b/src/rp2_common/hardware_spi/spi.c index 035a710eaa56bd53711aa3ab1e3fceeae36f4fb7..d20c1dccd8d1dd4100af1e0cc1ffb5d48b369cad 100644 --- a/src/rp2_common/hardware_spi/spi.c +++ b/src/rp2_common/hardware_spi/spi.c @@ -51,7 +51,7 @@ uint spi_set_baudrate(spi_inst_t *spi, uint baudrate) { // Find smallest prescale value which puts output frequency in range of // post-divide. Prescale is an even number from 2 to 254 inclusive. for (prescale = 2; prescale <= 254; prescale += 2) { - if (freq_in < (prescale + 2) * 256 * (uint64_t) baudrate) + if (freq_in < prescale * 256 * (uint64_t) baudrate) break; } invalid_params_if(SPI, prescale > 254); // Frequency too low