On Fri, May 22, 2015 at 12:25:05AM -0700, Brian Norris wrote: > On Fri, May 22, 2015 at 12:17:27AM -0700, Brian Norris wrote: > > Admittedly, as he's using an out-of-tree driver, I'm not > > sure I know exactly what failure modes he is hitting yet. > Sorry, I realized I misread here. He's using spi-sunxi. Given that... > ... is this code even valid? > static int sun6i_spi_transfer_one(struct spi_master *master, > struct spi_device *spi, > struct spi_transfer *tfr) > { > ... > /* We don't support transfer larger than the FIFO */ > if (tfr->len > SUN6I_FIFO_DEPTH) > return -EINVAL; > Seems like it should be looping over the transfer in multiple chunks > instead. Well, it's not ideal. Like I say I think that logic probably belongs in the core rather than individual drivers then we minimise the problems, if I remember correctly there was the suggestion that the DMA code was going to follow soon and be used for larger transfers when the original driver was merged.
Attachment:
signature.asc
Description: Digital signature