浏览代码

[AF_PACKET]: Fix minor code duplication

Simplify some code by eliminating duplicate if-else clauses in
packet_do_bind().

Signed-off-by: Urs Thuermann <urs@isnogud.escape.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Urs Thuermann 17 年之前
父节点
当前提交
be85d4ad8a
共有 1 个文件被更改,包括 5 次插入11 次删除
  1. 5 11
      net/packet/af_packet.c

+ 5 - 11
net/packet/af_packet.c

@@ -881,20 +881,14 @@ static int packet_do_bind(struct sock *sk, struct net_device *dev, __be16 protoc
 	if (protocol == 0)
 	if (protocol == 0)
 		goto out_unlock;
 		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);
 		dev_add_pack(&po->prot_hook);
 		sock_hold(sk);
 		sock_hold(sk);
 		po->running = 1;
 		po->running = 1;
+	} else {
+		sk->sk_err = ENETDOWN;
+		if (!sock_flag(sk, SOCK_DEAD))
+			sk->sk_error_report(sk);
 	}
 	}
 
 
 out_unlock:
 out_unlock: