IB/uverbs: Don't free wr list when it's known to be empty
authorKrishna Kumar <krkumar2@in.ibm.com>
Thu, 22 Jun 2006 14:47:27 +0000 (07:47 -0700)
committerRoland Dreier <rolandd@cisco.com>
Thu, 22 Jun 2006 14:47:27 +0000 (07:47 -0700)
In ib_uverbs_post_send(), move the "out:" label after the loop that
frees the list of work requests, since the only place that jumps there
is before any work requests could possibly be added to the list.

This removes a compile warning: "is_ud might be used uninitialized in
this function".

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/core/uverbs_cmd.c

index 76bf61e..a908a7b 100644 (file)
@@ -1530,7 +1530,6 @@ ssize_t ib_uverbs_post_send(struct ib_uverbs_file *file,
 out_put:
        put_qp_read(qp);
 
-out:
        while (wr) {
                if (is_ud && wr->wr.ud.ah)
                        put_ah_read(wr->wr.ud.ah);
@@ -1539,6 +1538,7 @@ out:
                wr = next;
        }
 
+out:
        kfree(user_wr);
 
        return ret ? ret : in_len;