Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Thu, 30 Jun 2016 09:03:36 +0000 (05:03 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Jun 2016 09:03:36 +0000 (05:03 -0400)
Several cases of overlapping changes, except the packet scheduler
conflicts which deal with the addition of the free list parameter
to qdisc_enqueue().

Signed-off-by: David S. Miller <davem@davemloft.net>
56 files changed:
1  2 
MAINTAINERS
arch/arm/boot/dts/dra7.dtsi
drivers/net/can/dev.c
drivers/net/can/usb/gs_usb.c
drivers/net/ethernet/broadcom/bgmac.c
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/mellanox/mlx4/main.c
drivers/net/ethernet/mellanox/mlx5/core/en.h
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlx5/core/main.c
drivers/net/ethernet/mellanox/mlxsw/spectrum.c
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
drivers/net/ethernet/qlogic/qed/qed_l2.c
drivers/net/ethernet/qlogic/qed/qed_main.c
drivers/net/ethernet/qlogic/qed/qed_spq.c
drivers/net/ethernet/qlogic/qede/qede_main.c
drivers/net/ethernet/ti/cpsw.c
drivers/net/geneve.c
drivers/net/phy/fixed_phy.c
drivers/net/team/team.c
drivers/net/usb/r8152.c
drivers/net/vxlan.c
drivers/net/wireless/ath/ath10k/core.c
drivers/net/wireless/ath/ath10k/htt_rx.c
drivers/net/wireless/ath/ath10k/mac.c
include/linux/bpf.h
include/linux/mlx4/device.h
include/linux/qed/qed_eth_if.h
kernel/trace/bpf_trace.c
net/batman-adv/routing.c
net/core/filter.c
net/ipv4/gre_demux.c
net/ipv4/ip_gre.c
net/ipv4/tcp_output.c
net/ipv6/icmp.c
net/ipv6/route.c
net/ipv6/sit.c
net/ipv6/udp.c
net/openvswitch/conntrack.c
net/rds/ib_cm.c
net/rds/loop.c
net/rds/tcp_connect.c
net/rds/tcp_listen.c
net/rds/tcp_recv.c
net/rds/tcp_send.c
net/sched/act_api.c
net/sched/act_ife.c
net/sched/act_ipt.c
net/sched/sch_fifo.c
net/sched/sch_htb.c
net/sched/sch_netem.c
net/sched/sch_prio.c
net/tipc/bearer.c
net/tipc/link.c
tools/virtio/ringtest/Makefile

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1320,9 -1311,10 +1321,10 @@@ static int bgmac_open(struct net_devic
        }
        napi_enable(&bgmac->napi);
  
 -      phy_start(bgmac->phy_dev);
 +      phy_start(net_dev->phydev);
  
-       netif_carrier_on(net_dev);
+       netif_start_queue(net_dev);
        return 0;
  }
  
Simple merge
Simple merge
  #include <linux/slab.h>
  #include <linux/of.h>
  #include <linux/gpio.h>
 +#include <linux/seqlock.h>
+ #include <linux/idr.h>
  
 -#define MII_REGS_NUM 29
 +#include "swphy.h"
  
  struct fixed_mdio_bus {
        struct mii_bus *mii_bus;
Simple merge
@@@ -2680,7 -2694,10 +2696,8 @@@ static void r8153_first_init(struct r81
        ocp_data &= ~RCR_ACPT_ALL;
        ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RCR, ocp_data);
  
 -      r8153_hw_phy_cfg(tp);
 -
        rtl8152_nic_reset(tp);
+       rtl_reset_bmu(tp);
  
        ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL);
        ocp_data &= ~NOW_IS_OOB;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv6/icmp.c
Simple merge
Simple merge
diff --cc net/ipv6/sit.c
Simple merge
diff --cc net/ipv6/udp.c
Simple merge
Simple merge
diff --cc net/rds/ib_cm.c
Simple merge
diff --cc net/rds/loop.c
Simple merge
@@@ -55,20 -54,19 +55,20 @@@ void rds_tcp_state_change(struct sock *
  
        rdsdebug("sock %p state_change to %d\n", tc->t_sock, sk->sk_state);
  
-       switch(sk->sk_state) {
-               /* ignore connecting sockets as they make progress */
-               case TCP_SYN_SENT:
-               case TCP_SYN_RECV:
-                       break;
-               case TCP_ESTABLISHED:
-                       rds_connect_path_complete(&conn->c_path[0],
-                                                 RDS_CONN_CONNECTING);
-                       break;
-               case TCP_CLOSE_WAIT:
-               case TCP_CLOSE:
-                       rds_conn_drop(conn);
-               default:
-                       break;
+       switch (sk->sk_state) {
+       /* ignore connecting sockets as they make progress */
+       case TCP_SYN_SENT:
+       case TCP_SYN_RECV:
+               break;
+       case TCP_ESTABLISHED:
 -              rds_connect_path_complete(conn, RDS_CONN_CONNECTING);
++              rds_connect_path_complete(&conn->c_path[0],
++                                        RDS_CONN_CONNECTING);
+               break;
+       case TCP_CLOSE_WAIT:
+       case TCP_CLOSE:
+               rds_conn_drop(conn);
+       default:
+               break;
        }
  out:
        read_unlock_bh(&sk->sk_callback_lock);
@@@ -137,10 -136,9 +137,10 @@@ int rds_tcp_accept_one(struct socket *s
                        goto rst_nsk;
                } else {
                        rds_tcp_reset_callbacks(new_sock, conn);
 -                      conn->c_outgoing = 0;
 +                      conn->c_path[0].cp_outgoing = 0;
                        /* rds_connect_path_complete() marks RDS_CONN_UP */
 -                      rds_connect_path_complete(conn, RDS_CONN_RESETTING);
 +                      rds_connect_path_complete(&conn->c_path[0],
-                                                 RDS_CONN_DISCONNECTING);
++                                                RDS_CONN_RESETTING);
                }
        } else {
                rds_tcp_set_callbacks(new_sock, conn);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -34,17 -32,19 +34,20 @@@ static int pfifo_enqueue(struct sk_buf
        if (likely(skb_queue_len(&sch->q) < sch->limit))
                return qdisc_enqueue_tail(skb, sch);
  
 -      return qdisc_reshape_fail(skb, sch);
 +      return qdisc_drop(skb, sch, to_free);
  }
  
 -static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 +static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc *sch,
 +                            struct sk_buff **to_free)
  {
+       unsigned int prev_backlog;
        if (likely(skb_queue_len(&sch->q) < sch->limit))
                return qdisc_enqueue_tail(skb, sch);
  
+       prev_backlog = sch->qstats.backlog;
        /* queue full, remove one skb to fulfill the limit */
 -      __qdisc_queue_drop_head(sch, &sch->q);
 +      __qdisc_queue_drop_head(sch, &sch->q, to_free);
        qdisc_qstats_drop(sch);
        qdisc_enqueue_tail(skb, sch);
  
Simple merge
@@@ -621,17 -650,14 +621,17 @@@ deliver
  #endif
  
                        if (q->qdisc) {
 -                              int err = qdisc_enqueue(skb, q->qdisc);
+                               unsigned int pkt_len = qdisc_pkt_len(skb);
 +                              struct sk_buff *to_free = NULL;
 +                              int err;
  
-                               if (unlikely(err != NET_XMIT_SUCCESS)) {
-                                       if (net_xmit_drop_count(err)) {
-                                               qdisc_qstats_drop(sch);
-                                               qdisc_tree_reduce_backlog(sch, 1,
-                                                                         qdisc_pkt_len(skb));
-                                       }
 +                              err = qdisc_enqueue(skb, q->qdisc, &to_free);
 +                              kfree_skb_list(to_free);
+                               if (err != NET_XMIT_SUCCESS &&
+                                   net_xmit_drop_count(err)) {
+                                       qdisc_qstats_drop(sch);
+                                       qdisc_tree_reduce_backlog(sch, 1,
+                                                                 pkt_len);
                                }
                                goto tfifo_dequeue;
                        }
Simple merge
Simple merge
diff --cc net/tipc/link.c
Simple merge
@@@ -1,6 -1,6 +1,6 @@@
  all:
  
- all: ring virtio_ring_0_9 virtio_ring_poll virtio_ring_inorder ptr_ring
 -all: ring virtio_ring_0_9 virtio_ring_poll virtio_ring_inorder noring
++all: ring virtio_ring_0_9 virtio_ring_poll virtio_ring_inorder ptr_ring noring
  
  CFLAGS += -Wall
  CFLAGS += -pthread -O2 -ggdb
@@@ -16,13 -15,13 +16,15 @@@ ring: ring.o main.
  virtio_ring_0_9: virtio_ring_0_9.o main.o
  virtio_ring_poll: virtio_ring_poll.o main.o
  virtio_ring_inorder: virtio_ring_inorder.o main.o
 +ptr_ring: ptr_ring.o main.o
+ noring: noring.o main.o
  clean:
        -rm main.o
        -rm ring.o ring
        -rm virtio_ring_0_9.o virtio_ring_0_9
        -rm virtio_ring_poll.o virtio_ring_poll
        -rm virtio_ring_inorder.o virtio_ring_inorder
 +      -rm ptr_ring.o ptr_ring
+       -rm noring.o noring
  
  .PHONY: all clean