]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/xen/xenfs/xenbus.c
xenbus: avoid zero returns from read()
[karo-tx-linux.git] / drivers / xen / xenfs / xenbus.c
index c4c7db8363e760a14e51f1a837250761a7761215..55791dd1105f37b230e700c90ad62b6cac2c933c 100644 (file)
@@ -120,6 +120,7 @@ static ssize_t xenbus_file_read(struct file *filp,
        int ret;
 
        mutex_lock(&u->reply_mutex);
+again:
        while (list_empty(&u->read_buffers)) {
                mutex_unlock(&u->reply_mutex);
                if (filp->f_flags & O_NONBLOCK)
@@ -158,6 +159,8 @@ static ssize_t xenbus_file_read(struct file *filp,
                                        struct read_buffer, list);
                }
        }
+       if (i == 0)
+               goto again;
 
 out:
        mutex_unlock(&u->reply_mutex);