diff options
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/spi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 37c555ec59ab..2d65b1684cdc 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c | |||
@@ -532,7 +532,7 @@ static void spi_pump_messages(struct kthread_work *work) | |||
532 | /* Lock queue and check for queue work */ | 532 | /* Lock queue and check for queue work */ |
533 | spin_lock_irqsave(&master->queue_lock, flags); | 533 | spin_lock_irqsave(&master->queue_lock, flags); |
534 | if (list_empty(&master->queue) || !master->running) { | 534 | if (list_empty(&master->queue) || !master->running) { |
535 | if (master->busy) { | 535 | if (master->busy && master->unprepare_transfer_hardware) { |
536 | ret = master->unprepare_transfer_hardware(master); | 536 | ret = master->unprepare_transfer_hardware(master); |
537 | if (ret) { | 537 | if (ret) { |
538 | spin_unlock_irqrestore(&master->queue_lock, flags); | 538 | spin_unlock_irqrestore(&master->queue_lock, flags); |
@@ -562,7 +562,7 @@ static void spi_pump_messages(struct kthread_work *work) | |||
562 | master->busy = true; | 562 | master->busy = true; |
563 | spin_unlock_irqrestore(&master->queue_lock, flags); | 563 | spin_unlock_irqrestore(&master->queue_lock, flags); |
564 | 564 | ||
565 | if (!was_busy) { | 565 | if (!was_busy && master->prepare_transfer_hardware) { |
566 | ret = master->prepare_transfer_hardware(master); | 566 | ret = master->prepare_transfer_hardware(master); |
567 | if (ret) { | 567 | if (ret) { |
568 | dev_err(&master->dev, | 568 | dev_err(&master->dev, |