Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Thu, 2 Apr 2015 20:16:53 +0000 (16:16 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Apr 2015 20:16:53 +0000 (16:16 -0400)
Conflicts:
drivers/net/usb/asix_common.c
drivers/net/usb/sr9800.c
drivers/net/usb/usbnet.c
include/linux/usb/usbnet.h
net/ipv4/tcp_ipv4.c
net/ipv6/tcp_ipv6.c

The TCP conflicts were overlapping changes.  In 'net' we added a
READ_ONCE() to the socket cached RX route read, whilst in 'net-next'
Eric Dumazet touched the surrounding code dealing with how mini
sockets are handled.

With USB, it's a case of the same bug fix first going into net-next
and then I cherry picked it back into net.

Signed-off-by: David S. Miller <davem@davemloft.net>
40 files changed:
1  2 
MAINTAINERS
arch/powerpc/include/asm/ppc-opcode.h
drivers/net/bonding/bond_main.c
drivers/net/can/usb/kvaser_usb.c
drivers/net/can/usb/peak_usb/pcan_usb_fd.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_stats.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
drivers/net/ethernet/chelsio/cxgb4/sge.c
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c
drivers/net/ethernet/freescale/ucc_geth.c
drivers/net/ethernet/mellanox/mlx4/cmd.c
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
drivers/net/ethernet/rocker/rocker.c
drivers/net/ipvlan/ipvlan_core.c
drivers/net/ipvlan/ipvlan_main.c
drivers/net/usb/r8152.c
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/iwlwifi/iwl-drv.c
drivers/net/wireless/iwlwifi/mvm/rs.c
drivers/net/wireless/iwlwifi/mvm/tx.c
drivers/net/wireless/iwlwifi/pcie/drv.c
net/core/net_namespace.c
net/core/rtnetlink.c
net/ipv4/ipmr.c
net/ipv4/tcp_ipv4.c
net/ipv6/ip6mr.c
net/ipv6/ndisc.c
net/ipv6/tcp_ipv6.c
net/iucv/af_iucv.c
net/mac80211/agg-rx.c
net/mac80211/rx.c
net/mac80211/sta_info.h

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -2963,12 -2844,16 +2956,20 @@@ int mlx4_en_init_netdev(struct mlx4_en_
                queue_delayed_work(mdev->workqueue, &priv->service_task,
                                   SERVICE_TASK_DELAY);
  
 -      mlx4_set_stats_bitmap(mdev->dev, &priv->stats_bitmap);
 +      mlx4_en_set_stats_bitmap(mdev->dev, &priv->stats_bitmap,
 +                               mdev->profile.prof[priv->port].rx_ppp,
 +                               mdev->profile.prof[priv->port].rx_pause,
 +                               mdev->profile.prof[priv->port].tx_ppp,
 +                               mdev->profile.prof[priv->port].tx_pause);
  
+       err = register_netdev(dev);
+       if (err) {
+               en_err(priv, "Netdev registration failed for port %d\n", port);
+               goto out;
+       }
+       priv->registered = 1;
        return 0;
  
  out:
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/ipmr.c
Simple merge
@@@ -1468,8 -1517,8 +1468,8 @@@ void tcp_v4_early_demux(struct sk_buff 
        if (sk) {
                skb->sk = sk;
                skb->destructor = sock_edemux;
 -              if (sk->sk_state != TCP_TIME_WAIT) {
 +              if (sk_fullsock(sk)) {
-                       struct dst_entry *dst = sk->sk_rx_dst;
+                       struct dst_entry *dst = READ_ONCE(sk->sk_rx_dst);
  
                        if (dst)
                                dst = dst_check(dst, 0);
Simple merge
Simple merge
@@@ -1521,8 -1595,8 +1532,8 @@@ static void tcp_v6_early_demux(struct s
        if (sk) {
                skb->sk = sk;
                skb->destructor = sock_edemux;
 -              if (sk->sk_state != TCP_TIME_WAIT) {
 +              if (sk_fullsock(sk)) {
-                       struct dst_entry *dst = sk->sk_rx_dst;
+                       struct dst_entry *dst = READ_ONCE(sk->sk_rx_dst);
  
                        if (dst)
                                dst = dst_check(dst, inet6_sk(sk)->rx_dst_cookie);
Simple merge
Simple merge
Simple merge
Simple merge