|
@@ -237,8 +237,14 @@ static int au1550_spi_setupxfer(struct spi_device *spi, struct spi_transfer *t)
|
|
|
unsigned bpw, hz;
|
|
|
u32 cfg, stat;
|
|
|
|
|
|
- bpw = t ? t->bits_per_word : spi->bits_per_word;
|
|
|
- hz = t ? t->speed_hz : spi->max_speed_hz;
|
|
|
+ bpw = spi->bits_per_word;
|
|
|
+ hz = spi->max_speed_hz;
|
|
|
+ if (t) {
|
|
|
+ if (t->bits_per_word)
|
|
|
+ bpw = t->bits_per_word;
|
|
|
+ if (t->speed_hz)
|
|
|
+ hz = t->speed_hz;
|
|
|
+ }
|
|
|
|
|
|
if (bpw < 4 || bpw > 24) {
|
|
|
dev_err(&spi->dev, "setupxfer: invalid bits_per_word=%d\n",
|