summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Suvorov <oleksandr.suvorov@toradex.com>2020-02-19 17:04:37 +0200
committerOleksandr Suvorov <oleksandr.suvorov@toradex.com>2020-02-19 17:04:37 +0200
commit6eb4142030916c2db5c3dd0a4301dbd1141593e2 (patch)
tree166be12457829c581e9c5e39a52e72f9199d0d9b
parent65d8cb523f1b59b91ce784d2616448fa5ef3030e (diff)
spi: spidev: fix setting of max speed
spi->max_speed_hz always sets to the previous value. Fixing the logic allows IOCTL command SPI_IOC_WR_MAX_SPEED_HZ to store the new requested value to spi->max_speed_hz. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
-rw-r--r--drivers/spi/spidev.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
index 09584fc3b6e6..0eaa2a662925 100644
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -454,11 +454,12 @@ spidev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
spi->max_speed_hz = tmp;
retval = spi_setup(spi);
- if (retval >= 0)
+ if (retval) {
+ spi->max_speed_hz = save;
+ } else {
spidev->speed_hz = tmp;
- else
dev_dbg(&spi->dev, "%d Hz (max)\n", tmp);
- spi->max_speed_hz = save;
+ }
}
break;