Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Thu, 23 Mar 2017 22:11:56 +0000 (15:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Mar 2017 23:41:27 +0000 (16:41 -0700)
Conflicts:
drivers/net/ethernet/broadcom/genet/bcmmii.c
drivers/net/hyperv/netvsc.c
kernel/bpf/hashtab.c

Almost entirely overlapping changes.

Signed-off-by: David S. Miller <davem@davemloft.net>
25 files changed:
1  2 
MAINTAINERS
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
drivers/net/ethernet/broadcom/genet/bcmgenet.c
drivers/net/ethernet/broadcom/genet/bcmmii.c
drivers/net/ethernet/ibm/ibmvnic.c
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/tun.c
drivers/net/usb/r8152.c
drivers/net/vrf.c
include/net/netfilter/nf_tables.h
kernel/bpf/hashtab.c
net/bridge/br_netfilter_hooks.c
net/core/sock.c
net/ipv4/tcp.c
net/ipv4/tcp_input.c
net/ipv4/tcp_minisocks.c
net/ipv6/udp.c
net/mpls/af_mpls.c
net/netfilter/nf_conntrack_core.c
net/netfilter/nf_tables_api.c
net/netfilter/nft_ct.c
net/netfilter/nft_meta.c
net/netfilter/nft_nat.c
net/openvswitch/flow_netlink.c
net/sched/sch_dsmark.c

diff --cc MAINTAINERS
Simple merge
index 8df47c90cfc5529bb7a17483356d455e8d4c2fcf,2f9281936f0e434a328e1c716a29a76be2d9090c..285676f8da6bf3b9b0bb42e8a5407be56e478796
@@@ -195,49 -195,31 +195,33 @@@ void bcmgenet_phy_power_set(struct net_
        u32 reg = 0;
  
        /* EXT_GPHY_CTRL is only valid for GENETv4 and onward */
 -      if (!GENET_IS_V4(priv))
 -              return;
 -
 -      reg = bcmgenet_ext_readl(priv, EXT_GPHY_CTRL);
 -      if (enable) {
 -              reg &= ~EXT_CK25_DIS;
 -              bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
 -              mdelay(1);
 -
 -              reg &= ~(EXT_CFG_IDDQ_BIAS | EXT_CFG_PWR_DOWN);
 -              reg |= EXT_GPHY_RESET;
 +      if (GENET_IS_V4(priv)) {
 +              reg = bcmgenet_ext_readl(priv, EXT_GPHY_CTRL);
 +              if (enable) {
 +                      reg &= ~EXT_CK25_DIS;
 +                      bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
 +                      mdelay(1);
 +
 +                      reg &= ~(EXT_CFG_IDDQ_BIAS | EXT_CFG_PWR_DOWN);
 +                      reg |= EXT_GPHY_RESET;
 +                      bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
 +                      mdelay(1);
 +
 +                      reg &= ~EXT_GPHY_RESET;
 +              } else {
 +                      reg |= EXT_CFG_IDDQ_BIAS | EXT_CFG_PWR_DOWN |
 +                             EXT_GPHY_RESET;
 +                      bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
 +                      mdelay(1);
 +                      reg |= EXT_CK25_DIS;
 +              }
                bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
 -              mdelay(1);
 -
 -              reg &= ~EXT_GPHY_RESET;
 +              udelay(60);
        } else {
 -              reg |= EXT_CFG_IDDQ_BIAS | EXT_CFG_PWR_DOWN | EXT_GPHY_RESET;
 -              bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
                mdelay(1);
 -              reg |= EXT_CK25_DIS;
        }
 -      bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
 -      udelay(60);
  }
  
- static void bcmgenet_internal_phy_setup(struct net_device *dev)
- {
-       struct bcmgenet_priv *priv = netdev_priv(dev);
-       u32 reg;
-       /* Power up PHY */
-       bcmgenet_phy_power_set(dev, true);
-       if (!GENET_IS_V5(priv)) {
-               /* enable APD */
-               reg = bcmgenet_ext_readl(priv, EXT_EXT_PWR_MGMT);
-               reg |= EXT_PWR_DN_EN_LD;
-               bcmgenet_ext_writel(priv, reg, EXT_EXT_PWR_MGMT);
-       }
-       bcmgenet_mii_reset(dev);
- }
  static void bcmgenet_moca_phy_setup(struct bcmgenet_priv *priv)
  {
        u32 reg;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 343fb5394c95b21fdaa4103ae0287458d15938df,361a69dfe5434d6afb554477b899e91db90fb29f..d5b0623ce87d3697b72eb3711e866db0caa95812
@@@ -609,20 -582,7 +616,15 @@@ static void htab_elem_free_rcu(struct r
  
  static void free_htab_elem(struct bpf_htab *htab, struct htab_elem *l)
  {
-       if (l->state == HTAB_EXTRA_ELEM_USED) {
-               l->state = HTAB_EXTRA_ELEM_FREE;
-               return;
-       }
-       if (!(htab->map.map_flags & BPF_F_NO_PREALLOC)) {
 +      struct bpf_map *map = &htab->map;
 +
 +      if (map->ops->map_fd_put_ptr) {
 +              void *ptr = fd_htab_map_get_ptr(map, l);
 +
 +              map->ops->map_fd_put_ptr(ptr);
 +      }
 +
+       if (htab_is_prealloc(htab)) {
                pcpu_freelist_push(&htab->freelist, &l->fnode);
        } else {
                atomic_dec(&htab->count);
Simple merge
diff --cc net/core/sock.c
Simple merge
diff --cc net/ipv4/tcp.c
Simple merge
Simple merge
Simple merge
diff --cc net/ipv6/udp.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge