From: David S. Miller Date: Mon, 27 Sep 2010 08:03:03 +0000 (-0700) Subject: Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 X-Git-Tag: v2.6.37-rc1~147^2~349 X-Git-Url: https://bbs.cooldavid.org/git/?p=net-next-2.6.git;a=commitdiff_plain;h=e40051d134f7ee95c8c1f7a3471e84eafc9ab326 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/qlcnic/qlcnic_init.c net/ipv4/ip_output.c --- e40051d134f7ee95c8c1f7a3471e84eafc9ab326 diff --cc net/ipv4/ip_gre.c index 0967d02fefd,35c93e8b6a4..5d6ddcb7403 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@@ -44,9 -44,8 +44,9 @@@ #include #include #include +#include - #ifdef CONFIG_IPV6 + #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) #include #include #include diff --cc net/ipv4/ip_output.c index 3551b6dc741,7649d775007..439d2a34ee4 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@@ -487,10 -487,9 +487,9 @@@ int ip_fragment(struct sk_buff *skb, in * LATER: this step can be merged to real generation of fragments, * we can switch to copy when see the first bad fragment. */ - if (skb_has_frags(skb)) { + if (skb_has_frag_list(skb)) { - struct sk_buff *frag; + struct sk_buff *frag, *frag2; int first_len = skb_pagelen(skb); - int truesizes = 0; if (first_len - hlen > mtu || ((first_len - hlen) & 7) || diff --cc net/ipv6/ip6_output.c index efbbbce68f9,980912ed7a3..99157b4cd56 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@@ -637,9 -637,9 +637,9 @@@ static int ip6_fragment(struct sk_buff } mtu -= hlen + sizeof(struct frag_hdr); - if (skb_has_frags(skb)) { + if (skb_has_frag_list(skb)) { int first_len = skb_pagelen(skb); - int truesizes = 0; + struct sk_buff *frag2; if (first_len - hlen > mtu || ((first_len - hlen) & 7) || diff --cc net/rds/tcp_connect.c index a65ee78db0c,c519939e8da..af95c8e058f --- a/net/rds/tcp_connect.c +++ b/net/rds/tcp_connect.c @@@ -43,9 -43,9 +43,9 @@@ void rds_tcp_state_change(struct sock * struct rds_connection *conn; struct rds_tcp_connection *tc; - read_lock(&sk->sk_callback_lock); + read_lock_bh(&sk->sk_callback_lock); conn = sk->sk_user_data; - if (conn == NULL) { + if (!conn) { state_change = sk->sk_state_change; goto out; } diff --cc net/rds/tcp_listen.c index ae27869dfc2,27844f231d1..8b5cc4aa886 --- a/net/rds/tcp_listen.c +++ b/net/rds/tcp_listen.c @@@ -114,9 -114,9 +114,9 @@@ void rds_tcp_listen_data_ready(struct s rdsdebug("listen data ready sk %p\n", sk); - read_lock(&sk->sk_callback_lock); + read_lock_bh(&sk->sk_callback_lock); ready = sk->sk_user_data; - if (ready == NULL) { /* check for teardown race */ + if (!ready) { /* check for teardown race */ ready = sk->sk_data_ready; goto out; } diff --cc net/rds/tcp_recv.c index 7017f3af80b,e4379740410..67263fbee62 --- a/net/rds/tcp_recv.c +++ b/net/rds/tcp_recv.c @@@ -324,9 -324,9 +324,9 @@@ void rds_tcp_data_ready(struct sock *sk rdsdebug("data ready sk %p bytes %d\n", sk, bytes); - read_lock(&sk->sk_callback_lock); + read_lock_bh(&sk->sk_callback_lock); conn = sk->sk_user_data; - if (conn == NULL) { /* check for teardown race */ + if (!conn) { /* check for teardown race */ ready = sk->sk_data_ready; goto out; } diff --cc net/rds/tcp_send.c index 2979fb4a4b9,2f012a07d94..aa16841afbd --- a/net/rds/tcp_send.c +++ b/net/rds/tcp_send.c @@@ -174,9 -224,9 +174,9 @@@ void rds_tcp_write_space(struct sock *s struct rds_connection *conn; struct rds_tcp_connection *tc; - read_lock(&sk->sk_callback_lock); + read_lock_bh(&sk->sk_callback_lock); conn = sk->sk_user_data; - if (conn == NULL) { + if (!conn) { write_space = sk->sk_write_space; goto out; }