Message ID | 1455623612-24398-1-git-send-email-edgar.iglesias@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Feb 16, 2016 at 12:53:32PM +0100, Edgar E. Iglesias wrote: > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> Applied > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> > --- > hw/dma/etraxfs_dma.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/hw/dma/etraxfs_dma.c b/hw/dma/etraxfs_dma.c > index 9cbb165..d5650eb 100644 > --- a/hw/dma/etraxfs_dma.c > +++ b/hw/dma/etraxfs_dma.c > @@ -440,13 +440,16 @@ static int channel_out_run(struct fs_dma_ctrl *ctrl, int c) > D(printf("channel %d pushes %x %u bytes eop=%u\n", c, > saved_data_buf, len, out_eop)); > > - if (ctrl->channels[c].client->client.push) > - ctrl->channels[c].client->client.push( > - ctrl->channels[c].client->client.opaque, > - buf, len, out_eop); > - else > + if (ctrl->channels[c].client->client.push) { > + if (len > 0) { > + ctrl->channels[c].client->client.push( > + ctrl->channels[c].client->client.opaque, > + buf, len, out_eop); > + } > + } else { > printf("WARNING: DMA ch%d dataloss," > " no attached client.\n", c); > + } > > saved_data_buf += len; > > -- > 1.9.1 >
diff --git a/hw/dma/etraxfs_dma.c b/hw/dma/etraxfs_dma.c index 9cbb165..d5650eb 100644 --- a/hw/dma/etraxfs_dma.c +++ b/hw/dma/etraxfs_dma.c @@ -440,13 +440,16 @@ static int channel_out_run(struct fs_dma_ctrl *ctrl, int c) D(printf("channel %d pushes %x %u bytes eop=%u\n", c, saved_data_buf, len, out_eop)); - if (ctrl->channels[c].client->client.push) - ctrl->channels[c].client->client.push( - ctrl->channels[c].client->client.opaque, - buf, len, out_eop); - else + if (ctrl->channels[c].client->client.push) { + if (len > 0) { + ctrl->channels[c].client->client.push( + ctrl->channels[c].client->client.opaque, + buf, len, out_eop); + } + } else { printf("WARNING: DMA ch%d dataloss," " no attached client.\n", c); + } saved_data_buf += len;