From 9b0fb49b4c2ac125f9a3ea564e5c52d4eaad212b Mon Sep 17 00:00:00 2001 From: Urs Thuermann Date: Mon, 12 Nov 2007 21:05:20 -0800 Subject: [PATCH] --- yaml --- r: 73601 b: refs/heads/master c: be85d4ad8ab69520e5ca4717c491a311c9eeae59 h: refs/heads/master i: 73599: 43f5df7b009259f18367af3174212ca916f2d8ac v: v3 --- [refs] | 2 +- trunk/net/packet/af_packet.c | 16 +++++----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 1041a8335c32..6180ae6d5ba0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 57ce45dd16cd427ac2bdef202daf513bd25d650b +refs/heads/master: be85d4ad8ab69520e5ca4717c491a311c9eeae59 diff --git a/trunk/net/packet/af_packet.c b/trunk/net/packet/af_packet.c index eb6be5030c70..8a7807dbba01 100644 --- a/trunk/net/packet/af_packet.c +++ b/trunk/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) 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: