提交 6ea31293 编写于 作者: A Atsushi Nemoto 提交者: Mark Brown

spi: core: make zero length transfer valid again

Zero length transfer becomes invalid since
"spi: core: Validate length of the transfers in message" commit,
but it should be valid to support an odd device, for example, which
requires long delay between chipselect and the first transfer, etc.
Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Tested-by: NThierry Reding <treding@nvidia.com>
Signed-off-by: NMark Brown <broonie@linaro.org>
上级 f97b26b0
......@@ -1617,7 +1617,7 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)
{
struct spi_master *master = spi->master;
struct spi_transfer *xfer;
int w_size, n_words;
int w_size;
if (list_empty(&message->transfers))
return -EINVAL;
......@@ -1680,9 +1680,8 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)
else
w_size = 4;
n_words = xfer->len / w_size;
/* No partial transfers accepted */
if (!n_words || xfer->len % w_size)
if (xfer->len % w_size)
return -EINVAL;
if (xfer->speed_hz && master->min_speed_hz &&
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册