diff options
-rw-r--r-- | drivers/spi/spi-dw.c | 3 | ||||
-rw-r--r-- | drivers/spi/spi-pl022.c | 5 | ||||
-rw-r--r-- | drivers/spi/spi-pxa2xx.c | 3 |
3 files changed, 4 insertions, 7 deletions
diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c index bf98d63d92b3..390da9bf2d84 100644 --- a/drivers/spi/spi-dw.c +++ b/drivers/spi/spi-dw.c | |||
@@ -276,8 +276,7 @@ static void giveback(struct dw_spi *dws) | |||
276 | queue_work(dws->workqueue, &dws->pump_messages); | 276 | queue_work(dws->workqueue, &dws->pump_messages); |
277 | spin_unlock_irqrestore(&dws->lock, flags); | 277 | spin_unlock_irqrestore(&dws->lock, flags); |
278 | 278 | ||
279 | last_transfer = list_entry(msg->transfers.prev, | 279 | last_transfer = list_last_entry(&msg->transfers, struct spi_transfer, |
280 | struct spi_transfer, | ||
281 | transfer_list); | 280 | transfer_list); |
282 | 281 | ||
283 | if (!last_transfer->cs_change && dws->cs_control) | 282 | if (!last_transfer->cs_change && dws->cs_control) |
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c index 2789b452e711..3c5b90559bec 100644 --- a/drivers/spi/spi-pl022.c +++ b/drivers/spi/spi-pl022.c | |||
@@ -459,9 +459,8 @@ static void giveback(struct pl022 *pl022) | |||
459 | struct spi_transfer *last_transfer; | 459 | struct spi_transfer *last_transfer; |
460 | pl022->next_msg_cs_active = false; | 460 | pl022->next_msg_cs_active = false; |
461 | 461 | ||
462 | last_transfer = list_entry(pl022->cur_msg->transfers.prev, | 462 | last_transfer = list_last_entry(&pl022->cur_msg->transfers, |
463 | struct spi_transfer, | 463 | struct spi_transfer, transfer_list); |
464 | transfer_list); | ||
465 | 464 | ||
466 | /* Delay if requested before any change in chip select */ | 465 | /* Delay if requested before any change in chip select */ |
467 | if (last_transfer->delay_usecs) | 466 | if (last_transfer->delay_usecs) |
diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c index c702fc536a77..41185d0557fa 100644 --- a/drivers/spi/spi-pxa2xx.c +++ b/drivers/spi/spi-pxa2xx.c | |||
@@ -362,8 +362,7 @@ static void giveback(struct driver_data *drv_data) | |||
362 | drv_data->cur_msg = NULL; | 362 | drv_data->cur_msg = NULL; |
363 | drv_data->cur_transfer = NULL; | 363 | drv_data->cur_transfer = NULL; |
364 | 364 | ||
365 | last_transfer = list_entry(msg->transfers.prev, | 365 | last_transfer = list_last_entry(&msg->transfers, struct spi_transfer, |
366 | struct spi_transfer, | ||
367 | transfer_list); | 366 | transfer_list); |
368 | 367 | ||
369 | /* Delay if requested before any change in chip select */ | 368 | /* Delay if requested before any change in chip select */ |