drm/amd/powerplay: return errno code to caller when error occur
[linux-2.6-microblaze.git] / ipc / mqueue.c
index 7a5a8ed..3d920ff 100644 (file)
@@ -364,8 +364,7 @@ static int mqueue_get_tree(struct fs_context *fc)
 {
        struct mqueue_fs_context *ctx = fc->fs_private;
 
-       fc->s_fs_info = ctx->ipc_ns;
-       return vfs_get_super(fc, vfs_get_keyed_super, mqueue_fill_super);
+       return get_tree_keyed(fc, mqueue_fill_super, ctx->ipc_ns);
 }
 
 static void mqueue_fs_context_free(struct fs_context *fc)
@@ -1241,15 +1240,14 @@ static int do_mq_notify(mqd_t mqdes, const struct sigevent *notification)
 
                        /* create the notify skb */
                        nc = alloc_skb(NOTIFY_COOKIE_LEN, GFP_KERNEL);
-                       if (!nc) {
-                               ret = -ENOMEM;
-                               goto out;
-                       }
+                       if (!nc)
+                               return -ENOMEM;
+
                        if (copy_from_user(nc->data,
                                        notification->sigev_value.sival_ptr,
                                        NOTIFY_COOKIE_LEN)) {
                                ret = -EFAULT;
-                               goto out;
+                               goto free_skb;
                        }
 
                        /* TODO: add a header? */
@@ -1265,8 +1263,7 @@ retry:
                        fdput(f);
                        if (IS_ERR(sock)) {
                                ret = PTR_ERR(sock);
-                               sock = NULL;
-                               goto out;
+                               goto free_skb;
                        }
 
                        timeo = MAX_SCHEDULE_TIMEOUT;
@@ -1275,11 +1272,8 @@ retry:
                                sock = NULL;
                                goto retry;
                        }
-                       if (ret) {
-                               sock = NULL;
-                               nc = NULL;
-                               goto out;
-                       }
+                       if (ret)
+                               return ret;
                }
        }
 
@@ -1334,7 +1328,8 @@ out_fput:
 out:
        if (sock)
                netlink_detachskb(sock, nc);
-       else if (nc)
+       else
+free_skb:
                dev_kfree_skb(nc);
 
        return ret;