From: David S. Miller Date: Sat, 2 Sep 2017 00:42:05 +0000 (-0700) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=6026e043d09012c6269f9a96a808d52d9c498224;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git Merge git://git./linux/kernel/git/davem/net Three cases of simple overlapping changes. Signed-off-by: David S. Miller --- 6026e043d09012c6269f9a96a808d52d9c498224 diff --cc drivers/net/ethernet/marvell/mvpp2.c index f37c05fed5bc,4d598ca8503a..d5624894152e --- a/drivers/net/ethernet/marvell/mvpp2.c +++ b/drivers/net/ethernet/marvell/mvpp2.c @@@ -7478,9 -6504,7 +7478,9 @@@ static int mvpp2_port_probe(struct plat struct resource *res; const char *dt_mac_addr; const char *mac_from; - char hw_mac_addr[ETH_ALEN]; + char hw_mac_addr[ETH_ALEN] = {0}; + unsigned int ntxqs, nrxqs; + bool has_tx_irqs; u32 id; int features; int phy_mode; diff --cc net/ipv6/ip6_fib.c index 549aacc3cb2c,e1c85bb4eac0..a3b5c163325f --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c @@@ -154,7 -160,12 +161,12 @@@ static void node_free_rcu(struct rcu_he kmem_cache_free(fib6_node_kmem, fn); } + static void node_free(struct fib6_node *fn) + { + call_rcu(&fn->rcu, node_free_rcu); + } + -static void rt6_free_pcpu(struct rt6_info *non_pcpu_rt) +void rt6_free_pcpu(struct rt6_info *non_pcpu_rt) { int cpu; @@@ -971,10 -889,8 +983,10 @@@ add rt->dst.rt6_next = iter; *ins = rt; - rt->rt6i_node = fn; + rcu_assign_pointer(rt->rt6i_node, fn); atomic_inc(&rt->rt6i_ref); + call_fib6_entry_notifiers(info->nl_net, FIB_EVENT_ENTRY_ADD, + rt); if (!info->skip_notify) inet6_rt_notify(RTM_NEWROUTE, rt, info, nlflags); info->nl_net->ipv6.rt6_stats->fib_rt_entries++; @@@ -999,11 -915,9 +1011,11 @@@ return err; *ins = rt; - rt->rt6i_node = fn; + rcu_assign_pointer(rt->rt6i_node, fn); rt->dst.rt6_next = iter->dst.rt6_next; atomic_inc(&rt->rt6i_ref); + call_fib6_entry_notifiers(info->nl_net, FIB_EVENT_ENTRY_REPLACE, + rt); if (!info->skip_notify) inet6_rt_notify(RTM_NEWROUTE, rt, info, NLM_F_REPLACE); if (!(fn->fn_flags & RTN_RTINFO)) { diff --cc net/sched/sch_hfsc.c index 7c7820d0fdc7,11ab8dace901..daaf214e5201 --- a/net/sched/sch_hfsc.c +++ b/net/sched/sch_hfsc.c @@@ -1390,9 -1432,10 +1392,9 @@@ hfsc_init_qdisc(struct Qdisc *sch, stru err = tcf_block_get(&q->root.block, &q->root.filter_list); if (err) - goto err_tcf; + return err; q->root.cl_common.classid = sch->handle; - q->root.refcnt = 1; q->root.sched = q; q->root.qdisc = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, sch->handle);