diff options
| -rw-r--r-- | drivers/spi/spi_bitbang.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/spi/spi_bitbang.c b/drivers/spi/spi_bitbang.c index f7f8580edad8..71e881419cdd 100644 --- a/drivers/spi/spi_bitbang.c +++ b/drivers/spi/spi_bitbang.c | |||
| @@ -344,12 +344,14 @@ static void bitbang_work(struct work_struct *work) | |||
| 344 | t->rx_dma = t->tx_dma = 0; | 344 | t->rx_dma = t->tx_dma = 0; |
| 345 | status = bitbang->txrx_bufs(spi, t); | 345 | status = bitbang->txrx_bufs(spi, t); |
| 346 | } | 346 | } |
| 347 | if (status > 0) | ||
| 348 | m->actual_length += status; | ||
| 347 | if (status != t->len) { | 349 | if (status != t->len) { |
| 348 | if (status > 0) | 350 | /* always report some kind of error */ |
| 349 | status = -EMSGSIZE; | 351 | if (status >= 0) |
| 352 | status = -EREMOTEIO; | ||
| 350 | break; | 353 | break; |
| 351 | } | 354 | } |
| 352 | m->actual_length += status; | ||
| 353 | status = 0; | 355 | status = 0; |
| 354 | 356 | ||
| 355 | /* protocol tweaks before next transfer */ | 357 | /* protocol tweaks before next transfer */ |
