> From: David Hendricks <dhendrix@xxxxxxxxxxxx> > > To avoid spamming the EC we calculate the time between the previous > transfer and the current transfer and force a delay if the time delta > is too small. > > However, a small miscalculation causes the delay period to be > far too short. Most noticably this impacts commands with a long > turnaround time such as EC firmware reads and writes. > > Signed-off-by: David Hendricks <dhendrix@xxxxxxxxxxxx> > Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> > Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> > Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> > Tested-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> > Tested-by: Stephen Warren <swarren@xxxxxxxxxx> > --- > Changes in v3: None > Changes in v2: None > > drivers/mfd/cros_ec_spi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied, thanks. > diff --git a/drivers/mfd/cros_ec_spi.c b/drivers/mfd/cros_ec_spi.c > index 84af8d7..c185eb6 100644 > --- a/drivers/mfd/cros_ec_spi.c > +++ b/drivers/mfd/cros_ec_spi.c > @@ -219,7 +219,7 @@ static int cros_ec_command_spi_xfer(struct cros_ec_device *ec_dev, > ktime_get_ts(&ts); > delay = timespec_to_ns(&ts) - ec_spi->last_transfer_ns; > if (delay < EC_SPI_RECOVERY_TIME_NS) > - ndelay(delay); > + ndelay(EC_SPI_RECOVERY_TIME_NS - delay); > } > > /* Transmit phase - send our message */ -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html