diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2016-09-17 15:34:07 +0200 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-09-26 23:06:18 +0530 |
commit | 78c6e1a5943b464c47e864ca1092287fa4aa219b (patch) | |
tree | 4179cb39a9020764208bdaaf0e988827e28336c1 /drivers/dma | |
parent | 8452b85906b6a731b619baba30c0a14fedbafdaa (diff) | |
download | linux-stable-78c6e1a5943b464c47e864ca1092287fa4aa219b.tar.gz linux-stable-78c6e1a5943b464c47e864ca1092287fa4aa219b.tar.bz2 linux-stable-78c6e1a5943b464c47e864ca1092287fa4aa219b.zip |
ste_dma40: One check less in d40_prep_sg() after error detection
* Adjust jump targets according to the Linux coding style convention.
* Delete a repeated check which became unnecessary with this refactoring.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/ste_dma40.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c index 12798d2aa7e0..d587fd3a98a4 100644 --- a/drivers/dma/ste_dma40.c +++ b/drivers/dma/ste_dma40.c @@ -2253,7 +2253,7 @@ d40_prep_sg(struct dma_chan *dchan, struct scatterlist *sg_src, desc = d40_prep_desc(chan, sg_src, sg_len, dma_flags); if (desc == NULL) - goto err; + goto unlock; if (sg_next(&sg_src[sg_len - 1]) == sg_src) desc->cyclic = true; @@ -2273,7 +2273,7 @@ d40_prep_sg(struct dma_chan *dchan, struct scatterlist *sg_src, if (ret) { chan_err(chan, "Failed to prepare %s sg job: %d\n", chan_is_logical(chan) ? "log" : "phy", ret); - goto err; + goto free_desc; } /* @@ -2285,10 +2285,9 @@ d40_prep_sg(struct dma_chan *dchan, struct scatterlist *sg_src, spin_unlock_irqrestore(&chan->lock, flags); return &desc->txd; - -err: - if (desc) - d40_desc_free(chan, desc); + free_desc: + d40_desc_free(chan, desc); + unlock: spin_unlock_irqrestore(&chan->lock, flags); return NULL; } |