Commit 638a542c authored by Daniel Mack's avatar Daniel Mack Committed by Vinod Koul

dma: mmp_pdma: refactor unlocking path in lookup_phy()

As suggested by Ezequiel García, release the spinlock at the end of the
function only, and use a goto for the control flow.

Just a minor cleanup.
Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent 8b298ded
...@@ -220,7 +220,7 @@ static struct mmp_pdma_phy *lookup_phy(struct mmp_pdma_chan *pchan) ...@@ -220,7 +220,7 @@ static struct mmp_pdma_phy *lookup_phy(struct mmp_pdma_chan *pchan)
{ {
int prio, i; int prio, i;
struct mmp_pdma_device *pdev = to_mmp_pdma_dev(pchan->chan.device); struct mmp_pdma_device *pdev = to_mmp_pdma_dev(pchan->chan.device);
struct mmp_pdma_phy *phy; struct mmp_pdma_phy *phy, *found = NULL;
unsigned long flags; unsigned long flags;
/* /*
...@@ -239,14 +239,15 @@ static struct mmp_pdma_phy *lookup_phy(struct mmp_pdma_chan *pchan) ...@@ -239,14 +239,15 @@ static struct mmp_pdma_phy *lookup_phy(struct mmp_pdma_chan *pchan)
phy = &pdev->phy[i]; phy = &pdev->phy[i];
if (!phy->vchan) { if (!phy->vchan) {
phy->vchan = pchan; phy->vchan = pchan;
spin_unlock_irqrestore(&pdev->phy_lock, flags); found = phy;
return phy; goto out_unlock;
} }
} }
} }
out_unlock:
spin_unlock_irqrestore(&pdev->phy_lock, flags); spin_unlock_irqrestore(&pdev->phy_lock, flags);
return NULL; return found;
} }
static void mmp_pdma_free_phy(struct mmp_pdma_chan *pchan) static void mmp_pdma_free_phy(struct mmp_pdma_chan *pchan)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment