diff options
-rw-r--r-- | drivers/spi/spi.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index e71881afe475..01a40bcfc352 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -2721,12 +2721,9 @@ EXPORT_SYMBOL_GPL(spi_res_add); */ void spi_res_release(struct spi_controller *ctlr, struct spi_message *message) { - struct spi_res *res; - - while (!list_empty(&message->resources)) { - res = list_last_entry(&message->resources, - struct spi_res, entry); + struct spi_res *res, *tmp; + list_for_each_entry_safe_reverse(res, tmp, &message->resources, entry) { if (res->release) res->release(ctlr, message, res->data); |