drm/rockchip: dsi: fix Non-SNPS PHY power on sequence
[firefly-linux-kernel-4.4.55.git] / net / irda / af_irda.c
index e6aa48b5395c67e2600eed9482c97b9a626d01bd..8d2f7c9b491da5b7e7b13f90f2aa9c5d88f84faf 100644 (file)
@@ -1024,8 +1024,11 @@ static int irda_connect(struct socket *sock, struct sockaddr *uaddr,
        }
 
        /* Check if we have opened a local TSAP */
-       if (!self->tsap)
-               irda_open_tsap(self, LSAP_ANY, addr->sir_name);
+       if (!self->tsap) {
+               err = irda_open_tsap(self, LSAP_ANY, addr->sir_name);
+               if (err)
+                       goto out;
+       }
 
        /* Move to connecting socket, start sending Connect Requests */
        sock->state = SS_CONNECTING;
@@ -1086,6 +1089,9 @@ static int irda_create(struct net *net, struct socket *sock, int protocol,
        struct sock *sk;
        struct irda_sock *self;
 
+       if (protocol < 0 || protocol > SK_PROTOCOL_MAX)
+               return -EINVAL;
+
        if (net != &init_net)
                return -EAFNOSUPPORT;