Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
authorDavid S. Miller <davem@davemloft.net>
Mon, 3 May 2010 04:43:40 +0000 (21:43 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 May 2010 05:02:06 +0000 (22:02 -0700)
17 files changed:
1  2 
drivers/net/bnx2.c
drivers/net/e1000e/netdev.c
drivers/net/gianfar.c
drivers/net/pcmcia/smc91c92_cs.c
drivers/net/sb1250-mac.c
drivers/net/sfc/efx.c
drivers/net/sfc/falcon.c
drivers/net/sfc/nic.h
drivers/net/sfc/siena.c
drivers/net/usb/cdc_ether.c
drivers/net/wireless/p54/p54pci.c
include/net/sctp/sctp.h
include/net/sock.h
net/bluetooth/l2cap.c
net/ipv4/inet_connection_sock.c
net/ipv6/inet6_connection_sock.c
net/sctp/socket.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index d54700af927ade324abba113d107857e70229de9,44a1ab03a3f0124ac33c63aa62f54b5663b52914..bae764005d2df19bf2d483edde15ec56eb4d0a68
@@@ -3719,9 -3719,12 +3719,9 @@@ SCTP_STATIC int sctp_init_sock(struct s
        sp->hmac = NULL;
  
        SCTP_DBG_OBJCNT_INC(sock);
-       percpu_counter_inc(&sctp_sockets_allocated);
  
 -      /* Set socket backlog limit. */
 -      sk->sk_backlog.limit = sysctl_sctp_rmem[1];
 -
        local_bh_disable();
+       percpu_counter_inc(&sctp_sockets_allocated);
        sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);
        local_bh_enable();
  
@@@ -6185,6 -6189,16 +6185,19 @@@ do_nonblock
        goto out;
  }
  
 -      read_lock_bh(&sk->sk_callback_lock);
 -      if (sk_has_sleeper(sk))
 -              wake_up_interruptible_sync_poll(sk->sk_sleep, POLLIN |
+ void sctp_data_ready(struct sock *sk, int len)
+ {
 -      read_unlock_bh(&sk->sk_callback_lock);
++      struct socket_wq *wq;
++
++      rcu_read_lock();
++      wq = rcu_dereference(sk->sk_wq);
++      if (wq_has_sleeper(wq))
++              wake_up_interruptible_sync_poll(&wq->wait, POLLIN |
+                                               POLLRDNORM | POLLRDBAND);
+       sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_IN);
++      rcu_read_unlock();
+ }
  /* If socket sndbuf has changed, wake up all per association waiters.  */
  void sctp_write_space(struct sock *sk)
  {