Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
authorDavid S. Miller <davem@davemloft.net>
Thu, 5 Sep 2013 18:58:52 +0000 (14:58 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Sep 2013 18:58:52 +0000 (14:58 -0400)
Conflicts:
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
net/bridge/br_multicast.c
net/ipv6/sit.c

The conflicts were minor:

1) sit.c changes overlap with change to ip_tunnel_xmit() signature.

2) br_multicast.c had an overlap between computing max_delay using
   msecs_to_jiffies and turning MLDV2_MRC() into an inline function
   with a name using lowercase instead of uppercase letters.

3) stmmac had two overlapping changes, one which conditionally allocated
   and hooked up a dma_cfg based upon the presence of the pbl OF property,
   and another one handling store-and-forward DMA made.  The latter of
   which should not go into the new of_find_property() basic block.

Signed-off-by: David S. Miller <davem@davemloft.net>
33 files changed:
1  2 
MAINTAINERS
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
drivers/net/ethernet/broadcom/tg3.c
drivers/net/ethernet/emulex/benet/be_main.c
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/marvell/mvneta.c
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
drivers/net/ethernet/renesas/sh_eth.c
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
include/net/xfrm.h
net/bridge/br_device.c
net/bridge/br_mdb.c
net/bridge/br_multicast.c
net/bridge/br_private.h
net/core/flow_dissector.c
net/ipv4/ipip.c
net/ipv4/raw.c
net/ipv4/tcp.c
net/ipv4/tcp_input.c
net/ipv4/tcp_output.c
net/ipv6/addrconf.c
net/ipv6/icmp.c
net/ipv6/ip6_gre.c
net/ipv6/ip6_output.c
net/ipv6/ip6_tunnel.c
net/ipv6/ndisc.c
net/ipv6/raw.c
net/ipv6/sit.c
net/ipv6/tcp_ipv6.c
net/xfrm/xfrm_policy.c
net/xfrm/xfrm_state.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
@@@ -1343,12 -1297,9 +1343,12 @@@ static int sh_eth_rx(struct net_device 
                        mdp->rx_skbuff[entry] = NULL;
                        if (mdp->cd->rpadir)
                                skb_reserve(skb, NET_IP_ALIGN);
 +                      dma_sync_single_for_cpu(&ndev->dev, rxdesc->addr,
 +                                              mdp->rx_buf_sz,
 +                                              DMA_FROM_DEVICE);
                        skb_put(skb, pkt_len);
                        skb->protocol = eth_type_trans(skb, ndev);
-                       netif_rx(skb);
+                       netif_receive_skb(skb);
                        ndev->stats.rx_packets++;
                        ndev->stats.rx_bytes += pkt_len;
                }
@@@ -71,19 -71,18 +71,22 @@@ static int stmmac_probe_config_dt(struc
                plat->force_sf_dma_mode = 1;
        }
  
-       dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*dma_cfg), GFP_KERNEL);
-       if (!dma_cfg)
-               return -ENOMEM;
-       plat->dma_cfg = dma_cfg;
-       of_property_read_u32(np, "snps,pbl", &dma_cfg->pbl);
-       dma_cfg->fixed_burst = of_property_read_bool(np, "snps,fixed-burst");
-       dma_cfg->mixed_burst = of_property_read_bool(np, "snps,mixed-burst");
+       if (of_find_property(np, "snps,pbl", NULL)) {
+               dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*dma_cfg),
+                                      GFP_KERNEL);
+               if (!dma_cfg)
+                       return -ENOMEM;
+               plat->dma_cfg = dma_cfg;
+               of_property_read_u32(np, "snps,pbl", &dma_cfg->pbl);
+               dma_cfg->fixed_burst =
+                       of_property_read_bool(np, "snps,fixed-burst");
+               dma_cfg->mixed_burst =
+                       of_property_read_bool(np, "snps,mixed-burst");
+       }
 +      plat->force_thresh_dma_mode = of_property_read_bool(np, "snps,force_thresh_dma_mode");
 +      if (plat->force_thresh_dma_mode) {
 +              plat->force_sf_dma_mode = 0;
 +              pr_warn("force_sf_dma_mode is ignored if force_thresh_dma_mode is set.");
-       }
  
        return 0;
  }
Simple merge
Simple merge
Simple merge
@@@ -1205,11 -1255,11 +1256,11 @@@ static int br_ip6_multicast_query(struc
                if (!mld2q->mld2q_nsrcs)
                        group = &mld2q->mld2q_mca;
  
 -              max_delay = max(msecs_to_jiffies(MLDV2_MRC(ntohs(mld2q->mld2q_mrc))), 1UL);
 +              max_delay = max(msecs_to_jiffies(mldv2_mrc(mld2q)), 1UL);
        }
  
-       br_multicast_query_received(br, port, !ipv6_addr_any(&ip6h->saddr),
-                                   max_delay);
+       br_multicast_query_received(br, port, &br->ip6_querier,
+                                   !ipv6_addr_any(&ip6h->saddr), max_delay);
  
        if (!group)
                goto out;
@@@ -1354,8 -1406,11 +1407,11 @@@ static void br_ip6_multicast_leave_grou
                                         __u16 vid)
  {
        struct br_ip br_group;
+       struct bridge_mcast_query *query = port ? &port->ip6_query :
+                                                 &br->ip6_query;
  
 -      if (!ipv6_is_transient_multicast(group))
 +      if (ipv6_addr_is_ll_all_nodes(group))
                return;
  
        br_group.u.ip6 = *group;
Simple merge
Simple merge
diff --cc net/ipv4/ipip.c
Simple merge
diff --cc net/ipv4/raw.c
Simple merge
diff --cc net/ipv4/tcp.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv6/icmp.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv6/raw.c
Simple merge
diff --cc net/ipv6/sit.c
@@@ -881,8 -886,13 +879,13 @@@ static netdev_tx_t ipip6_tunnel_xmit(st
                ttl = iph6->hop_limit;
        tos = INET_ECN_encapsulate(tos, ipv6_get_dsfield(iph6));
  
 -      err = iptunnel_xmit(dev_net(dev), rt, skb, fl4.saddr, fl4.daddr,
 -                          IPPROTO_IPV6, tos, ttl, df);
+       if (likely(!skb->encapsulation)) {
+               skb_reset_inner_headers(skb);
+               skb->encapsulation = 1;
+       }
 +      err = iptunnel_xmit(rt, skb, fl4.saddr, fl4.daddr, IPPROTO_IPV6, tos,
 +                          ttl, df, !net_eq(tunnel->net, dev_net(dev)));
        iptunnel_xmit_stats(err, &dev->stats, dev->tstats);
        return NETDEV_TX_OK;
  
Simple merge
Simple merge
Simple merge