fixed invalid command test
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 12 Apr 2004 19:07:27 +0000 (19:07 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 12 Apr 2004 19:07:27 +0000 (19:07 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@721 c046a42c-6fe2-441c-8c8c-71466251a162

hw/dma.c

index 24e90c4..bac6d95 100644 (file)
--- a/hw/dma.c
+++ b/hw/dma.c
@@ -168,9 +168,9 @@ static void write_cont (void *opaque, uint32_t nport, uint32_t data)
     iport = (nport >> d->dshift) & 0x0f;
     switch (iport) {
     case 8:                     /* command */
-        if (data && (data | CMD_NOT_SUPPORTED)) {
+        if ((data != 0) && (data & CMD_NOT_SUPPORTED)) {
             log ("command %#x not supported\n", data);
-            goto error;
+            return;
         }
         d->command = data;
         break;
@@ -236,7 +236,7 @@ static void write_cont (void *opaque, uint32_t nport, uint32_t data)
 
     default:
         log ("dma: unknown iport %#x\n", iport);
-        goto error;
+        break;
     }
 
 #ifdef DEBUG_DMA
@@ -245,10 +245,6 @@ static void write_cont (void *opaque, uint32_t nport, uint32_t data)
                nport, ichan, data);
     }
 #endif
-    return;
-
- error:
-    abort ();
 }
 
 static uint32_t read_cont (void *opaque, uint32_t nport)