diff options
-rw-r--r-- | drivers/dma/mpc512x_dma.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/mpc512x_dma.c b/drivers/dma/mpc512x_dma.c index 4e9cbf300594..1bc04aa27b14 100644 --- a/drivers/dma/mpc512x_dma.c +++ b/drivers/dma/mpc512x_dma.c | |||
@@ -252,11 +252,13 @@ static void mpc_dma_execute(struct mpc_dma_chan *mchan) | |||
252 | prev = mdesc; | 252 | prev = mdesc; |
253 | } | 253 | } |
254 | 254 | ||
255 | prev->tcd->start = 0; | ||
256 | prev->tcd->int_maj = 1; | 255 | prev->tcd->int_maj = 1; |
257 | 256 | ||
258 | /* Send first descriptor in chain into hardware */ | 257 | /* Send first descriptor in chain into hardware */ |
259 | memcpy_toio(&mdma->tcd[cid], first->tcd, sizeof(struct mpc_dma_tcd)); | 258 | memcpy_toio(&mdma->tcd[cid], first->tcd, sizeof(struct mpc_dma_tcd)); |
259 | |||
260 | if (first != prev) | ||
261 | mdma->tcd[cid].e_sg = 1; | ||
260 | out_8(&mdma->regs->dmassrt, cid); | 262 | out_8(&mdma->regs->dmassrt, cid); |
261 | } | 263 | } |
262 | 264 | ||