From: David S. Miller Date: Wed, 4 Jun 2014 06:32:12 +0000 (-0700) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net X-Git-Tag: v3.16-rc1~27^2~78 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=c99f7abf0e69987e4add567e155e042cb1f2a20b;p=linux.git Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: include/net/inetpeer.h net/ipv6/output_core.c Changes in net were fixing bugs in code removed in net-next. Signed-off-by: David S. Miller --- c99f7abf0e69987e4add567e155e042cb1f2a20b diff --cc drivers/net/ethernet/mellanox/mlx4/port.c index 376f2f1d445e,5ec6f203c6e6..7ab97174886d --- a/drivers/net/ethernet/mellanox/mlx4/port.c +++ b/drivers/net/ethernet/mellanox/mlx4/port.c @@@ -705,8 -796,10 +795,9 @@@ static int mlx4_common_set_port(struct if (!memcmp(gid_entry_mbox->raw, gid_entry_tbl->raw, sizeof(gid_entry_tbl->raw))) { /* found duplicate */ - mlx4_warn(dev, "requested gid entry for slave:%d " - "is a duplicate of gid at index %d\n", + mlx4_warn(dev, "requested gid entry for slave:%d is a duplicate of gid at index %d\n", slave, i); + mutex_unlock(&(priv->port[port].gid_table.mutex)); return -EINVAL; } } diff --cc include/net/inetpeer.h index 823ec7bb9c67,058271bde27a..01d590ee5e7e --- a/include/net/inetpeer.h +++ b/include/net/inetpeer.h @@@ -171,5 -172,14 +171,4 @@@ static inline void inet_peer_refcheck(c { WARN_ON_ONCE(atomic_read(&p->refcnt) <= 0); } - - -/* can be called with or without local BH being disabled */ -static inline int inet_getid(struct inet_peer *p, int more) -{ - more++; - inet_peer_refcheck(p); - return atomic_add_return(more, &p->ip_id_count) - more; -} -- #endif /* _NET_INETPEER_H */ diff --cc net/ipv6/output_core.c index 6179ac186ab9,56596ce390a1..ffa029305a09 --- a/net/ipv6/output_core.c +++ b/net/ipv6/output_core.c @@@ -8,7 -8,32 +8,6 @@@ #include #include -void ipv6_select_ident(struct frag_hdr *fhdr, struct rt6_info *rt) -{ - static atomic_t ipv6_fragmentation_id; - struct in6_addr addr; - int ident; - -#if IS_ENABLED(CONFIG_IPV6) - struct inet_peer *peer; - struct net *net; - - net = dev_net(rt->dst.dev); - peer = inet_getpeer_v6(net->ipv6.peers, &rt->rt6i_dst.addr, 1); - if (peer) { - fhdr->identification = htonl(inet_getid(peer, 0)); - inet_putpeer(peer); - return; - } -#endif - ident = atomic_inc_return(&ipv6_fragmentation_id); - - addr = rt->rt6i_dst.addr; - addr.s6_addr32[0] ^= (__force __be32)ident; - fhdr->identification = htonl(secure_ipv6_id(addr.s6_addr32)); -} -EXPORT_SYMBOL(ipv6_select_ident); -- int ip6_find_1stfragopt(struct sk_buff *skb, u8 **nexthdr) { u16 offset = sizeof(struct ipv6hdr);