]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
kvm tools: Fix pthread mutex error checks
authorPekka Enberg <penberg@kernel.org>
Sat, 9 Apr 2011 11:56:20 +0000 (14:56 +0300)
committerPekka Enberg <penberg@kernel.org>
Sat, 9 Apr 2011 11:56:20 +0000 (14:56 +0300)
The pthread_mutex_{lock|unlock} functions return non-zero, not negative number
upon error. Fix that wrong assumption in the code.

Cc: Asias He <asias.hejun@gmail.com>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
tools/kvm/8250-serial.c
tools/kvm/virtio-blk.c

index 3395f8545fc53a716ac73841481d34de76e54496..9394e88866b75b55d95082cf813d464b6782b9ca 100644 (file)
@@ -116,7 +116,7 @@ void serial8250__inject_interrupt(struct kvm *self)
 {
        struct serial8250_device *dev = &devices[0];
 
-       if (pthread_mutex_lock(&dev->mutex) < 0)
+       if (pthread_mutex_lock(&dev->mutex) != 0)
                die("pthread_mutex_lock");
 
        serial8250__receive(self, dev);
@@ -133,7 +133,7 @@ void serial8250__inject_interrupt(struct kvm *self)
                kvm__irq_line(self, dev->irq, 1);
        }
 
-       if (pthread_mutex_unlock(&dev->mutex) < 0)
+       if (pthread_mutex_unlock(&dev->mutex) != 0)
                die("pthread_mutex_unlock");
 }
 
@@ -165,7 +165,7 @@ static bool serial8250_out(struct kvm *self, uint16_t port, void *data, int size
        if (!dev)
                return false;
 
-       if (pthread_mutex_lock(&dev->mutex) < 0)
+       if (pthread_mutex_lock(&dev->mutex) != 0)
                die("pthread_mutex_lock");
 
        offset          = port - dev->iobase;
@@ -239,7 +239,7 @@ static bool serial8250_out(struct kvm *self, uint16_t port, void *data, int size
        }
 
 out_unlock:
-       if (pthread_mutex_unlock(&dev->mutex) < 0)
+       if (pthread_mutex_unlock(&dev->mutex) != 0)
                die("pthread_mutex_unlock");
 
        return ret;
@@ -255,7 +255,7 @@ static bool serial8250_in(struct kvm *self, uint16_t port, void *data, int size,
        if (!dev)
                return false;
 
-       if (pthread_mutex_lock(&dev->mutex) < 0)
+       if (pthread_mutex_lock(&dev->mutex) != 0)
                die("pthread_mutex_lock");
 
        offset          = port - dev->iobase;
@@ -321,7 +321,7 @@ static bool serial8250_in(struct kvm *self, uint16_t port, void *data, int size,
                goto out_unlock;
        }
 out_unlock:
-       if (pthread_mutex_unlock(&dev->mutex) < 0)
+       if (pthread_mutex_unlock(&dev->mutex) != 0)
                die("pthread_mutex_unlock");
 
        return ret;
index 8f1c684278c65f7a26b373cf92b652e94731893e..5e7f57dcfa28f97b4a9ff908dec7f6a7aee76a11 100644 (file)
@@ -70,7 +70,7 @@ static bool virtio_blk_pci_io_in(struct kvm *self, uint16_t port, void *data, in
        unsigned long offset;
        bool ret = true;
 
-       if (pthread_mutex_lock(&blk_device.mutex) < 0)
+       if (pthread_mutex_lock(&blk_device.mutex) != 0)
                die("pthread_mutex_lock");
 
        offset          = port - IOPORT_VIRTIO_BLK;
@@ -108,7 +108,7 @@ static bool virtio_blk_pci_io_in(struct kvm *self, uint16_t port, void *data, in
        };
 
 out_unlock:
-       if (pthread_mutex_unlock(&blk_device.mutex) < 0)
+       if (pthread_mutex_unlock(&blk_device.mutex) != 0)
                die("pthread_mutex_unlock");
 
        return ret;
@@ -180,7 +180,7 @@ static bool virtio_blk_pci_io_out(struct kvm *self, uint16_t port, void *data, i
        unsigned long offset;
        bool ret = true;
 
-       if (pthread_mutex_lock(&blk_device.mutex) < 0)
+       if (pthread_mutex_lock(&blk_device.mutex) != 0)
                die("pthread_mutex_lock");
 
        offset          = port - IOPORT_VIRTIO_BLK;
@@ -226,7 +226,7 @@ static bool virtio_blk_pci_io_out(struct kvm *self, uint16_t port, void *data, i
        };
 
 out_unlock:
-       if (pthread_mutex_unlock(&blk_device.mutex) < 0)
+       if (pthread_mutex_unlock(&blk_device.mutex) != 0)
                die("pthread_mutex_unlock");
 
        return ret;