On Mon, Oct 08, 2018 at 10:38:12AM +0200, Boris Brezillon wrote: > This is wrong, ->cur_speed_hz should be updated in > mxic_prepare_transfer_hardware() or mxic_spi_clk_check(), not when > ->setup() is called. Also, you seem to ignore the xfer->speed_hz value, > which might be different from spi->max_speed_hz. Maybe the > ->prepare_transfer() hook is not the right place to do this > ->cur_speed_hz selection in the end. xfer->speed_hz should always be filled in so it's the only one you need to pay attention to (as the code Boris proposed does).