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
@@@ -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)
  {