On Wed, May 27, 2015 at 5:37 PM, Alistair Francis <alistair.fran...@xilinx.com> wrote: > Previously the stream_running() function didn't check > if the DMA was halted. This caused hangs in recent versions > of MicroBlaze u-boot. Correct stream_running() to check > DMASR_HALTED as well as DMACR_RUNSTOP. > > Signed-off-by: Alistair Francis <alistair.fran...@xilinx.com> > Reviewed-by: Sai Pavan Boddu <saip...@xilinx.com>
Ping! Also add QEMU Trivial. Thanks, Alistair > --- > hw/dma/xilinx_axidma.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c > index d06002d..27fba40 100644 > --- a/hw/dma/xilinx_axidma.c > +++ b/hw/dma/xilinx_axidma.c > @@ -154,7 +154,8 @@ static inline int stream_resetting(struct Stream *s) > > static inline int stream_running(struct Stream *s) > { > - return s->regs[R_DMACR] & DMACR_RUNSTOP; > + return s->regs[R_DMACR] & DMACR_RUNSTOP && > + !(s->regs[R_DMASR] & DMASR_HALTED); > } > > static inline int stream_idle(struct Stream *s) > -- > 1.7.1 >