Patchwork [1.1,5/6] block: dma_bdrv_* does not return NULL

login
register
mail settings
Submitter Paolo Bonzini
Date Nov. 14, 2011, 4:50 p.m.
Message ID <1321289454-9219-6-git-send-email-pbonzini@redhat.com>
Download mbox | patch
Permalink /patch/125566/
State New
Headers show

Comments

Paolo Bonzini - Nov. 14, 2011, 4:50 p.m.
Initially attempted with the following semantic patch:

@ rule1 @
expression E;
statement S;
@@
  E =
(
   dma_bdrv_io
|  dma_bdrv_read
|  dma_bdrv_write
)
     (...);
(
- if (E == NULL) { ... }
|
- if (E)
    { <... S ...> }
)

which however did not match anything.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/ide/core.c  |    6 ------
 hw/ide/macio.c |    4 +---
 2 files changed, 1 insertions(+), 9 deletions(-)

Patch

diff --git a/hw/ide/core.c b/hw/ide/core.c
index 39d945e..600eb28 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -549,7 +549,6 @@  void ide_dma_cb(void *opaque, int ret)
     int n;
     int64_t sector_num;
 
-handle_rw_error:
     if (ret < 0) {
         int op = BM_STATUS_DMA_RETRY;
 
@@ -608,11 +607,6 @@  handle_rw_error:
                                          ide_issue_trim, ide_dma_cb, s, true);
         break;
     }
-
-    if (!s->bus->dma->aiocb) {
-        ret = -1;
-        goto handle_rw_error;
-    }
     return;
 
 eot:
diff --git a/hw/ide/macio.c b/hw/ide/macio.c
index 8965643..43b5ee7 100644
--- a/hw/ide/macio.c
+++ b/hw/ide/macio.c
@@ -152,10 +152,8 @@  static void pmac_ide_transfer_cb(void *opaque, int ret)
                                ide_issue_trim, pmac_ide_transfer_cb, s, true);
         break;
     }
-
-    if (!m->aiocb)
-        pmac_ide_transfer_cb(io, -1);
     return;
+
 done:
     if (s->dma_cmd == IDE_DMA_READ || s->dma_cmd == IDE_DMA_WRITE) {
         bdrv_acct_done(s->bs, &s->acct);