diff options
-rw-r--r-- | drivers/spi/spi.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 9d1405440223..38e1c315bb13 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c | |||
@@ -1653,12 +1653,13 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message) | |||
1653 | message->frame_length += xfer->len; | 1653 | message->frame_length += xfer->len; |
1654 | if (!xfer->bits_per_word) | 1654 | if (!xfer->bits_per_word) |
1655 | xfer->bits_per_word = spi->bits_per_word; | 1655 | xfer->bits_per_word = spi->bits_per_word; |
1656 | if (!xfer->speed_hz) { | 1656 | |
1657 | if (!xfer->speed_hz) | ||
1657 | xfer->speed_hz = spi->max_speed_hz; | 1658 | xfer->speed_hz = spi->max_speed_hz; |
1658 | if (master->max_speed_hz && | 1659 | |
1659 | xfer->speed_hz > master->max_speed_hz) | 1660 | if (master->max_speed_hz && |
1660 | xfer->speed_hz = master->max_speed_hz; | 1661 | xfer->speed_hz > master->max_speed_hz) |
1661 | } | 1662 | xfer->speed_hz = master->max_speed_hz; |
1662 | 1663 | ||
1663 | if (master->bits_per_word_mask) { | 1664 | if (master->bits_per_word_mask) { |
1664 | /* Only 32 bits fit in the mask */ | 1665 | /* Only 32 bits fit in the mask */ |
@@ -1687,9 +1688,6 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message) | |||
1687 | if (xfer->speed_hz && master->min_speed_hz && | 1688 | if (xfer->speed_hz && master->min_speed_hz && |
1688 | xfer->speed_hz < master->min_speed_hz) | 1689 | xfer->speed_hz < master->min_speed_hz) |
1689 | return -EINVAL; | 1690 | return -EINVAL; |
1690 | if (xfer->speed_hz && master->max_speed_hz && | ||
1691 | xfer->speed_hz > master->max_speed_hz) | ||
1692 | return -EINVAL; | ||
1693 | 1691 | ||
1694 | if (xfer->tx_buf && !xfer->tx_nbits) | 1692 | if (xfer->tx_buf && !xfer->tx_nbits) |
1695 | xfer->tx_nbits = SPI_NBITS_SINGLE; | 1693 | xfer->tx_nbits = SPI_NBITS_SINGLE; |