]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/packet/af_packet.c
Pull cpuidle into release branch
[linux-2.6-omap-h63xx.git] / net / packet / af_packet.c
index eb6be5030c70ea7e0bb8b28af520e34fa4f4805a..8a7807dbba012bdc03b0b49a8a1f35a02e9ee288 100644 (file)
@@ -881,20 +881,14 @@ static int packet_do_bind(struct sock *sk, struct net_device *dev, __be16 protoc
        if (protocol == 0)
                goto out_unlock;
 
-       if (dev) {
-               if (dev->flags&IFF_UP) {
-                       dev_add_pack(&po->prot_hook);
-                       sock_hold(sk);
-                       po->running = 1;
-               } else {
-                       sk->sk_err = ENETDOWN;
-                       if (!sock_flag(sk, SOCK_DEAD))
-                               sk->sk_error_report(sk);
-               }
-       } else {
+       if (!dev || (dev->flags & IFF_UP)) {
                dev_add_pack(&po->prot_hook);
                sock_hold(sk);
                po->running = 1;
+       } else {
+               sk->sk_err = ENETDOWN;
+               if (!sock_flag(sk, SOCK_DEAD))
+                       sk->sk_error_report(sk);
        }
 
 out_unlock: