dmaengine: cppi41: More PM runtime fixes
PATCH 1/1 dmaengine: cppi41: More PM runtime fixes
Fix use of u32 instead of int for checking for negative errors values
as pointed out by Dan Carpenter <[email protected]>.
And while testing the PM runtime error path by randomly returning failed values in runtime resume, I noticed two more places that need fixing:
- If pm_runtime_get_sync() fails in probe, we still need to do pm_runtime_put_sync() to keep the use count happy. We could call pm_runtime_put_noidle() on the error path, but we're just going to call pm_runtime_disable() after that so pm_runtime_put_sync() will do what we want
- We should print an error if pm_runtime_get_sync() fails in cppi41_dma_alloc_chan_resources() so we know where it happens
--- drivers/dma/cppi41.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
drivers/dma/cppi41.c +7 -4
@@ -317,11 +317,12 @@ static irqreturn_t cppi41_irq(int irq, void *data)while (val) {u32 desc, len; +int error; - status =pm_runtime_get (cdd->ddev.dev); -if (status <0 ) + error =pm_runtime_get (cdd->ddev.dev); +if (error <0 )dev_err (cdd->ddev.dev,"%s pm runtime get: %i\n" , - __func__, status); + __func__, error); q_num =__fls (val); val &= ~(1 << q_num);
@@ -367,6 +368,8 @@ static int cppi41_dma_alloc_chan_resources(struct dma_chan *chan) error =pm_runtime_get_sync (cdd->ddev.dev);if (error <0 ) { +dev_err (cdd->ddev.dev,"%s pm runtime get: %i\n" , + __func__, error);pm_runtime_put_noidle (cdd->ddev.dev);return error;
@@ -1072,8 +1075,8 @@ static int cppi41_dma_probe(struct platform_device *pdev)deinit_cppi41 (dev, cdd); err_init_cppi:pm_runtime_dont_use_autosuspend (dev); -pm_runtime_put_sync (dev); err_get_sync: +pm_runtime_put_sync (dev);pm_runtime_disable (dev);iounmap (cdd->usbss_mem);iounmap (cdd->ctrl_mem);
Signature · 5 lines
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
A message that is not in the archive (sent off-list or not yet received): 20161116182415.3149-1-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org
Quoted 7 lines · Tony Lindgren
Fix use of u32 instead of int for checking for negative errors values
as pointed out by Dan Carpenter <[email protected]>.And while testing the PM runtime error path by randomly returning failed values in runtime resume, I noticed two more places that need fixing:
Quoted 8 lines
- If
pm_runtime_get_sync()fails in probe, we still need to dopm_runtime_put_sync()to keep the use count happy. We could callpm_runtime_put_noidle()on the error path, but we're just going to callpm_runtime_disable()after that sopm_runtime_put_sync()will do what we want- We should print an error if
pm_runtime_get_sync()fails incppi41_dma_alloc_chan_resources()so we know where it happens
Applied now. Would have been ideal if the patches were split per fix
Thanks
Signature · 5 lines
~Vinod -- 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