]> Git Repo - qemu.git/blobdiff - hw/dma/etraxfs_dma.c
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
[qemu.git] / hw / dma / etraxfs_dma.c
index 3599513411d99cfd14dee1da09a31160b909dca8..d5650eb88504b6592a6978d60ddf36bf9ed2c9fb 100644 (file)
@@ -21,8 +21,7 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  * THE SOFTWARE.
  */
-#include <stdio.h>
-#include <sys/time.h>
+#include "qemu/osdep.h"
 #include "hw/hw.h"
 #include "exec/address-spaces.h"
 #include "qemu-common.h"
@@ -441,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;
 
This page took 0.020395 seconds and 4 git commands to generate.