9p/xen: Fix end of loop tests for list_for_each_entry
[sfrench/cifs-2.6.git] / net / 9p / trans_xen.c
index f4fea28e05da68f005c179c564441da59068d4cb..3ec1a51a6944ea0d322b7c0b3cccb8b8cc616f05 100644 (file)
@@ -138,7 +138,7 @@ static bool p9_xen_write_todo(struct xen_9pfs_dataring *ring, RING_IDX size)
 
 static int p9_xen_request(struct p9_client *client, struct p9_req_t *p9_req)
 {
-       struct xen_9pfs_front_priv *priv = NULL;
+       struct xen_9pfs_front_priv *priv;
        RING_IDX cons, prod, masked_cons, masked_prod;
        unsigned long flags;
        u32 size = p9_req->tc.size;
@@ -151,7 +151,7 @@ static int p9_xen_request(struct p9_client *client, struct p9_req_t *p9_req)
                        break;
        }
        read_unlock(&xen_9pfs_lock);
-       if (!priv || priv->client != client)
+       if (list_entry_is_head(priv, &xen_9pfs_devs, list))
                return -EINVAL;
 
        num = p9_req->tc.tag % priv->num_rings;