linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] i2c: mxs: Handle i2c DMA failure properly
@ 2012-11-18  5:25 Marek Vasut
       [not found] ` <1353216308-7338-1-git-send-email-marex-ynQEQJNshbs@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Marek Vasut @ 2012-11-18  5:25 UTC (permalink / raw)
  To: linux-i2c-u79uwXL29TY76Z2rM5mHXA
  Cc: Marek Vasut, Fabio Estevam, Tim Michals, Wolfram Sang

Properly terminate the DMA transfer in case the DMA PIO transfer
or setup fails for any reason.

Signed-off-by: Marek Vasut <marex-ynQEQJNshbs@public.gmane.org>
Cc: Fabio Estevam <festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Tim Michals <tcmichals-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
---
 drivers/i2c/busses/i2c-mxs.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c
index 286ca19..0670da7 100644
--- a/drivers/i2c/busses/i2c-mxs.c
+++ b/drivers/i2c/busses/i2c-mxs.c
@@ -287,12 +287,14 @@ read_init_dma_fail:
 select_init_dma_fail:
 	dma_unmap_sg(i2c->dev, &i2c->sg_io[0], 1, DMA_TO_DEVICE);
 select_init_pio_fail:
+	dmaengine_terminate_all(i2c->dmach);
 	return -EINVAL;
 
 /* Write failpath. */
 write_init_dma_fail:
 	dma_unmap_sg(i2c->dev, i2c->sg_io, 2, DMA_TO_DEVICE);
 write_init_pio_fail:
+	dmaengine_terminate_all(i2c->dmach);
 	return -EINVAL;
 }
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-11-22 22:05 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-18  5:25 [PATCH 1/2] i2c: mxs: Handle i2c DMA failure properly Marek Vasut
     [not found] ` <1353216308-7338-1-git-send-email-marex-ynQEQJNshbs@public.gmane.org>
2012-11-18  5:25   ` [PATCH 2/2] i2c: mxs: Do not disable the I2C SMBus quick mode Marek Vasut
     [not found]     ` <CANqk_c-3t2Kn3cQjwzoSzMrKMD-W_0JByD4U=Bp_ZA3_seyuig@mail.gmail.com>
     [not found]       ` <CANqk_c-3t2Kn3cQjwzoSzMrKMD-W_0JByD4U=Bp_ZA3_seyuig-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-19 15:19         ` Marek Vasut
     [not found]           ` <CANqk_c92YYzCKjT7ehfXpmGhJC8p0BDSNoW3vC71J9q89=XUaQ@mail.gmail.com>
     [not found]             ` <CANqk_c92YYzCKjT7ehfXpmGhJC8p0BDSNoW3vC71J9q89=XUaQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-19 18:13               ` Marek Vasut
     [not found]                 ` <CANqk_c9xk6mtiA5NpvoLy3bSdKPhF7yAUWfe_rRefZLMeOeHNQ@mail.gmail.com>
     [not found]                   ` <CANqk_c9xk6mtiA5NpvoLy3bSdKPhF7yAUWfe_rRefZLMeOeHNQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-19 20:02                     ` Marek Vasut
2012-11-20 11:36         ` Fabio Estevam
     [not found]     ` <1353216308-7338-2-git-send-email-marex-ynQEQJNshbs@public.gmane.org>
2012-11-22 22:05       ` Wolfram Sang
2012-11-19  9:25   ` [PATCH 1/2] i2c: mxs: Handle i2c DMA failure properly Wolfram Sang
     [not found]     ` <20121119092531.GE7775-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-19 14:00       ` Marek Vasut
     [not found]         ` <201211191500.32205.marex-ynQEQJNshbs@public.gmane.org>
2012-11-20  8:39           ` Wolfram Sang
     [not found]             ` <20121120083946.GB14722-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-20  8:47               ` Marek Vasut
     [not found]                 ` <201211200947.36430.marex-ynQEQJNshbs@public.gmane.org>
2012-11-20  8:54                   ` Wolfram Sang
2012-11-22 22:04   ` Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).