|
@@ -543,17 +543,16 @@ static void spi_pump_messages(struct kthread_work *work)
|
|
|
/* Lock queue and check for queue work */
|
|
|
spin_lock_irqsave(&master->queue_lock, flags);
|
|
|
if (list_empty(&master->queue) || !master->running) {
|
|
|
- if (master->busy && master->unprepare_transfer_hardware) {
|
|
|
- ret = master->unprepare_transfer_hardware(master);
|
|
|
- if (ret) {
|
|
|
- spin_unlock_irqrestore(&master->queue_lock, flags);
|
|
|
- dev_err(&master->dev,
|
|
|
- "failed to unprepare transfer hardware\n");
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (!master->busy) {
|
|
|
+ spin_unlock_irqrestore(&master->queue_lock, flags);
|
|
|
+ return;
|
|
|
}
|
|
|
master->busy = false;
|
|
|
spin_unlock_irqrestore(&master->queue_lock, flags);
|
|
|
+ if (master->unprepare_transfer_hardware &&
|
|
|
+ master->unprepare_transfer_hardware(master))
|
|
|
+ dev_err(&master->dev,
|
|
|
+ "failed to unprepare transfer hardware\n");
|
|
|
return;
|
|
|
}
|
|
|
|