We can occasionally get -EINPROGRESS for pm_runtime_get.
This is happening when an interrupt is fired before PM runtime had time
to update the PM state to RESUMED.
In that case, don't print any error.

Signed-off-by: Alexandre Bailon <[email protected]>
---
 drivers/dma/cppi41.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/dma/cppi41.c b/drivers/dma/cppi41.c
index 025fee4..2306020 100644
--- a/drivers/dma/cppi41.c
+++ b/drivers/dma/cppi41.c
@@ -320,7 +320,7 @@ static irqreturn_t cppi41_irq(int irq, void *data)
                        int error;
 
                        error = pm_runtime_get(cdd->ddev.dev);
-                       if (error < 0)
+                       if ((error != -EINPROGRESS) && error < 0)
                                dev_err(cdd->ddev.dev, "%s pm runtime get: 
%i\n",
                                        __func__, error);
 
@@ -492,8 +492,7 @@ static void cppi41_dma_issue_pending(struct dma_chan *chan)
                 */
                if (error == -EINPROGRESS) {
                        spin_lock_irqsave(&cdd->lock, flags);
-                       if (list_empty(&cdd->pending))
-                               active = true;
+                       active = !!list_empty(&cdd->pending);
                        spin_unlock_irqrestore(&cdd->lock, flags);
                }
        }
-- 
2.10.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to