Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/pcmcia/pcnet_cs.c net/caif/caif_socket.c
This commit is contained in:
commit
69259abb64
730 changed files with 7837 additions and 4315 deletions
|
@ -819,6 +819,7 @@ static int caif_connect(struct socket *sock, struct sockaddr *uaddr,
|
|||
long timeo;
|
||||
int err;
|
||||
int ifindex, headroom, tailroom;
|
||||
unsigned int mtu;
|
||||
struct net_device *dev;
|
||||
|
||||
lock_sock(sk);
|
||||
|
@ -888,14 +889,22 @@ static int caif_connect(struct socket *sock, struct sockaddr *uaddr,
|
|||
cf_sk->sk.sk_state = CAIF_DISCONNECTED;
|
||||
goto out;
|
||||
}
|
||||
dev = dev_get_by_index(sock_net(sk), ifindex);
|
||||
|
||||
err = -ENODEV;
|
||||
rcu_read_lock();
|
||||
dev = dev_get_by_index_rcu(sock_net(sk), ifindex);
|
||||
if (!dev) {
|
||||
rcu_read_unlock();
|
||||
goto out;
|
||||
}
|
||||
cf_sk->headroom = LL_RESERVED_SPACE_EXTRA(dev, headroom);
|
||||
mtu = dev->mtu;
|
||||
rcu_read_unlock();
|
||||
|
||||
cf_sk->tailroom = tailroom;
|
||||
cf_sk->maxframe = dev->mtu - (headroom + tailroom);
|
||||
dev_put(dev);
|
||||
cf_sk->maxframe = mtu - (headroom + tailroom);
|
||||
if (cf_sk->maxframe < 1) {
|
||||
pr_warn("CAIF Interface MTU too small (%d)\n", dev->mtu);
|
||||
err = -ENODEV;
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue