kernel: bump to 4.9.290, 4.14.255, 4.19.217
Manually rebased: - generic/pending-4.19/110-ehci_hcd_ignore_oc.patch Refreshed all patches. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
parent
92c43b059b
commit
c3ca7d454b
@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-4.9 = .288
|
||||
LINUX_VERSION-4.14 = .253
|
||||
LINUX_VERSION-4.19 = .214
|
||||
LINUX_VERSION-4.9 = .290
|
||||
LINUX_VERSION-4.14 = .255
|
||||
LINUX_VERSION-4.19 = .217
|
||||
|
||||
LINUX_KERNEL_HASH-4.9.288 = 3661093d3bd7cc19eb3da922fb0f07b9b55feeb1a10ec18848741553b648a56c
|
||||
LINUX_KERNEL_HASH-4.14.253 = 8e0c41a5c55efa89c8b0c688b8e19ad67128ff6c135e7031f15928875829f4d5
|
||||
LINUX_KERNEL_HASH-4.19.214 = ffe1df2f3e63a7d5f727b28ea2d6ba4a8085db45624873213b7ac6fec8b50844
|
||||
LINUX_KERNEL_HASH-4.9.290 = cdde5aa24633fcac929b15f2c2fe0c43053dc7439ab3d9c7223d82fdd8ea40db
|
||||
LINUX_KERNEL_HASH-4.14.255 = f00b8001424e3f185990f6ee24a7a393b7f0996f739cd4ee6a79532b23e6b2d7
|
||||
LINUX_KERNEL_HASH-4.19.217 = 8551110cc7184b1402a21b42e498088c5b0bb824a658c5fab173c12d9904a004
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
#endif /* __MDIO_BOARD_INFO_H */
|
||||
--- a/drivers/net/phy/mdio_bus.c
|
||||
+++ b/drivers/net/phy/mdio_bus.c
|
||||
@@ -464,6 +464,17 @@ void mdiobus_free(struct mii_bus *bus)
|
||||
@@ -463,6 +463,17 @@ void mdiobus_free(struct mii_bus *bus)
|
||||
}
|
||||
EXPORT_SYMBOL(mdiobus_free);
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
/**
|
||||
* mdiobus_scan - scan a bus for MDIO devices.
|
||||
* @bus: mii_bus to scan
|
||||
@@ -479,6 +490,7 @@ EXPORT_SYMBOL(mdiobus_free);
|
||||
@@ -478,6 +489,7 @@ EXPORT_SYMBOL(mdiobus_free);
|
||||
struct phy_device *mdiobus_scan(struct mii_bus *bus, int addr)
|
||||
{
|
||||
struct phy_device *phydev;
|
||||
@ -52,7 +52,7 @@
|
||||
int err;
|
||||
|
||||
phydev = get_phy_device(bus, addr, false);
|
||||
@@ -491,6 +503,12 @@ struct phy_device *mdiobus_scan(struct m
|
||||
@@ -490,6 +502,12 @@ struct phy_device *mdiobus_scan(struct m
|
||||
*/
|
||||
of_mdiobus_link_mdiodev(bus, &phydev->mdio);
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -2939,6 +2939,10 @@ static irqreturn_t sdhci_irq(int irq, vo
|
||||
@@ -2945,6 +2945,10 @@ static irqreturn_t sdhci_irq(int irq, vo
|
||||
result = IRQ_WAKE_THREAD;
|
||||
}
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
|
||||
--- a/drivers/usb/host/ehci-hcd.c
|
||||
+++ b/drivers/usb/host/ehci-hcd.c
|
||||
@@ -678,6 +678,10 @@ int ehci_setup(struct usb_hcd *hcd)
|
||||
@@ -687,6 +687,10 @@ int ehci_setup(struct usb_hcd *hcd)
|
||||
|
||||
/* cache this readonly data; minimize chip reads */
|
||||
ehci->hcs_params = ehci_readl(ehci, &ehci->caps->hcs_params);
|
||||
|
||||
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
help
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -3260,10 +3260,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -3266,10 +3266,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
#endif
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@
|
||||
+ bool "Enables kernel network stack path for Shortcut Forwarding Engine
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -3258,7 +3258,16 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -3264,7 +3264,16 @@ static int xmit_one(struct sk_buff *skb,
|
||||
#else
|
||||
if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
|
||||
#endif
|
||||
@ -72,7 +72,7 @@
|
||||
|
||||
#ifdef CONFIG_ETHERNET_PACKET_MANGLE
|
||||
if (!dev->eth_mangle_tx ||
|
||||
@@ -4754,6 +4763,11 @@ void netdev_rx_handler_unregister(struct
|
||||
@@ -4760,6 +4769,11 @@ void netdev_rx_handler_unregister(struct
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||
|
||||
@ -84,7 +84,7 @@
|
||||
/*
|
||||
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
||||
* the special handling of PFMEMALLOC skbs.
|
||||
@@ -4803,6 +4817,9 @@ static int __netif_receive_skb_core(stru
|
||||
@@ -4809,6 +4823,9 @@ static int __netif_receive_skb_core(stru
|
||||
bool deliver_exact = false;
|
||||
int ret = NET_RX_DROP;
|
||||
__be16 type;
|
||||
@ -94,7 +94,7 @@
|
||||
|
||||
net_timestamp_check(!netdev_tstamp_prequeue, skb);
|
||||
|
||||
@@ -4843,6 +4860,16 @@ another_round:
|
||||
@@ -4849,6 +4866,16 @@ another_round:
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
/**
|
||||
* mdiobus_alloc_size - allocate a mii_bus structure
|
||||
* @size: extra amount of memory to allocate for private storage.
|
||||
@@ -409,6 +411,17 @@ void mdiobus_free(struct mii_bus *bus)
|
||||
@@ -408,6 +410,17 @@ void mdiobus_free(struct mii_bus *bus)
|
||||
}
|
||||
EXPORT_SYMBOL(mdiobus_free);
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
/**
|
||||
* mdiobus_scan - scan a bus for MDIO devices.
|
||||
* @bus: mii_bus to scan
|
||||
@@ -424,6 +437,7 @@ EXPORT_SYMBOL(mdiobus_free);
|
||||
@@ -423,6 +436,7 @@ EXPORT_SYMBOL(mdiobus_free);
|
||||
struct phy_device *mdiobus_scan(struct mii_bus *bus, int addr)
|
||||
{
|
||||
struct phy_device *phydev;
|
||||
@ -35,7 +35,7 @@
|
||||
int err;
|
||||
|
||||
phydev = get_phy_device(bus, addr, false);
|
||||
@@ -436,6 +450,12 @@ struct phy_device *mdiobus_scan(struct m
|
||||
@@ -435,6 +449,12 @@ struct phy_device *mdiobus_scan(struct m
|
||||
*/
|
||||
of_mdiobus_link_mdiodev(bus, &phydev->mdio);
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||
|
||||
--- a/drivers/usb/host/ehci-hcd.c
|
||||
+++ b/drivers/usb/host/ehci-hcd.c
|
||||
@@ -651,7 +651,7 @@ static int ehci_run (struct usb_hcd *hcd
|
||||
@@ -660,7 +660,7 @@ static int ehci_run (struct usb_hcd *hcd
|
||||
"USB %x.%x started, EHCI %x.%02x%s\n",
|
||||
((ehci->sbrn & 0xf0)>>4), (ehci->sbrn & 0x0f),
|
||||
temp >> 8, temp & 0xff,
|
||||
@ -48,7 +48,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||
/*
|
||||
--- a/drivers/usb/host/ehci-platform.c
|
||||
+++ b/drivers/usb/host/ehci-platform.c
|
||||
@@ -321,6 +321,8 @@ static int ehci_platform_probe(struct pl
|
||||
@@ -327,6 +327,8 @@ static int ehci_platform_probe(struct pl
|
||||
hcd->has_tt = 1;
|
||||
if (pdata->reset_on_resume)
|
||||
priv->reset_on_resume = true;
|
||||
@ -59,10 +59,10 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||
if (ehci->big_endian_mmio) {
|
||||
--- a/drivers/usb/host/ehci.h
|
||||
+++ b/drivers/usb/host/ehci.h
|
||||
@@ -218,6 +218,7 @@ struct ehci_hcd { /* one per controlle
|
||||
unsigned frame_index_bug:1; /* MosChip (AKA NetMos) */
|
||||
@@ -219,6 +219,7 @@ struct ehci_hcd { /* one per controlle
|
||||
unsigned need_oc_pp_cycle:1; /* MPC834X port power */
|
||||
unsigned imx28_write_fix:1; /* For Freescale i.MX28 */
|
||||
unsigned is_aspeed:1;
|
||||
+ unsigned ignore_oc:1;
|
||||
|
||||
/* required for usb32 quirk */
|
||||
|
||||
@ -1344,7 +1344,7 @@
|
||||
#include <linux/sctp.h>
|
||||
#include <net/udp_tunnel.h>
|
||||
#include <linux/net_namespace.h>
|
||||
@@ -3248,7 +3251,12 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -3254,7 +3257,12 @@ static int xmit_one(struct sk_buff *skb,
|
||||
unsigned int len;
|
||||
int rc;
|
||||
|
||||
@ -1357,7 +1357,7 @@
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
len = skb->len;
|
||||
@@ -3287,6 +3295,8 @@ out:
|
||||
@@ -3293,6 +3301,8 @@ out:
|
||||
return skb;
|
||||
}
|
||||
|
||||
|
||||
@ -110,7 +110,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
return -EINVAL;
|
||||
--- a/net/ipv6/route.c
|
||||
+++ b/net/ipv6/route.c
|
||||
@@ -97,6 +97,8 @@ static int ip6_pkt_discard(struct sk_bu
|
||||
@@ -98,6 +98,8 @@ static int ip6_pkt_discard(struct sk_bu
|
||||
static int ip6_pkt_discard_out(struct net *net, struct sock *sk, struct sk_buff *skb);
|
||||
static int ip6_pkt_prohibit(struct sk_buff *skb);
|
||||
static int ip6_pkt_prohibit_out(struct net *net, struct sock *sk, struct sk_buff *skb);
|
||||
@ -119,7 +119,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
static void ip6_link_failure(struct sk_buff *skb);
|
||||
static void ip6_rt_update_pmtu(struct dst_entry *dst, struct sock *sk,
|
||||
struct sk_buff *skb, u32 mtu,
|
||||
@@ -328,6 +330,18 @@ static const struct rt6_info ip6_prohibi
|
||||
@@ -329,6 +331,18 @@ static const struct rt6_info ip6_prohibi
|
||||
.rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP),
|
||||
};
|
||||
|
||||
@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
static const struct rt6_info ip6_blk_hole_entry_template = {
|
||||
.dst = {
|
||||
.__refcnt = ATOMIC_INIT(1),
|
||||
@@ -906,6 +920,7 @@ static const int fib6_prop[RTN_MAX + 1]
|
||||
@@ -907,6 +921,7 @@ static const int fib6_prop[RTN_MAX + 1]
|
||||
[RTN_BLACKHOLE] = -EINVAL,
|
||||
[RTN_UNREACHABLE] = -EHOSTUNREACH,
|
||||
[RTN_PROHIBIT] = -EACCES,
|
||||
@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
[RTN_THROW] = -EAGAIN,
|
||||
[RTN_NAT] = -EINVAL,
|
||||
[RTN_XRESOLVE] = -EINVAL,
|
||||
@@ -943,6 +958,10 @@ static void ip6_rt_init_dst_reject(struc
|
||||
@@ -944,6 +959,10 @@ static void ip6_rt_init_dst_reject(struc
|
||||
rt->dst.output = ip6_pkt_prohibit_out;
|
||||
rt->dst.input = ip6_pkt_prohibit;
|
||||
break;
|
||||
@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
case RTN_THROW:
|
||||
case RTN_UNREACHABLE:
|
||||
default:
|
||||
@@ -3791,6 +3810,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
@@ -3802,6 +3821,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
||||
}
|
||||
|
||||
@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
/*
|
||||
* Allocate a dst for local (unicast / anycast) address.
|
||||
*/
|
||||
@@ -4238,7 +4268,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
@@ -4249,7 +4279,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
||||
rtm->rtm_type == RTN_BLACKHOLE ||
|
||||
rtm->rtm_type == RTN_PROHIBIT ||
|
||||
@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
cfg->fc_flags |= RTF_REJECT;
|
||||
|
||||
if (rtm->rtm_type == RTN_LOCAL)
|
||||
@@ -5089,6 +5120,8 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -5100,6 +5131,8 @@ static int ip6_route_dev_notify(struct n
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||
@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
||||
#endif
|
||||
@@ -5100,6 +5133,7 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -5111,6 +5144,7 @@ static int ip6_route_dev_notify(struct n
|
||||
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||
#endif
|
||||
}
|
||||
@@ -5294,6 +5328,15 @@ static int __net_init ip6_route_net_init
|
||||
@@ -5305,6 +5339,15 @@ static int __net_init ip6_route_net_init
|
||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||
ip6_template_metrics, true);
|
||||
@ -218,7 +218,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
#endif
|
||||
|
||||
net->ipv6.sysctl.flush_delay = 0;
|
||||
@@ -5312,6 +5355,8 @@ out:
|
||||
@@ -5323,6 +5366,8 @@ out:
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
out_ip6_prohibit_entry:
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
out_ip6_null_entry:
|
||||
@@ -5332,6 +5377,7 @@ static void __net_exit ip6_route_net_exi
|
||||
@@ -5343,6 +5388,7 @@ static void __net_exit ip6_route_net_exi
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
}
|
||||
@@ -5408,6 +5454,9 @@ void __init ip6_route_init_special_entri
|
||||
@@ -5419,6 +5465,9 @@ void __init ip6_route_init_special_entri
|
||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__u16 tc_index; /* traffic control index */
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -5472,6 +5472,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -5478,6 +5478,9 @@ static enum gro_result dev_gro_receive(s
|
||||
int same_flow;
|
||||
int grow;
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (netif_elide_gro(skb->dev))
|
||||
goto normal;
|
||||
|
||||
@@ -7138,6 +7141,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -7144,6 +7147,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info,
|
||||
@@ -7188,6 +7233,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -7194,6 +7239,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -7280,6 +7326,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -7286,6 +7332,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
|
||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
|
||||
@@ -7919,6 +7966,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -7925,6 +7972,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
static int netif_rx_internal(struct sk_buff *skb);
|
||||
static int call_netdevice_notifiers_info(unsigned long val,
|
||||
@@ -5902,6 +5903,11 @@ void __napi_schedule(struct napi_struct
|
||||
@@ -5908,6 +5909,11 @@ void __napi_schedule(struct napi_struct
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
local_irq_save(flags);
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
local_irq_restore(flags);
|
||||
@@ -5953,6 +5959,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
||||
@@ -5959,6 +5965,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
|
||||
*/
|
||||
void __napi_schedule_irqoff(struct napi_struct *n)
|
||||
{
|
||||
@ -111,7 +111,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!IS_ENABLED(CONFIG_PREEMPT_RT))
|
||||
____napi_schedule(this_cpu_ptr(&softnet_data), n);
|
||||
else
|
||||
@@ -6204,6 +6215,82 @@ static void init_gro_hash(struct napi_st
|
||||
@@ -6210,6 +6221,82 @@ static void init_gro_hash(struct napi_st
|
||||
napi->gro_bitmask = 0;
|
||||
}
|
||||
|
||||
@ -194,7 +194,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
|
||||
int (*poll)(struct napi_struct *, int), int weight)
|
||||
{
|
||||
@@ -6221,6 +6308,7 @@ void netif_napi_add(struct net_device *d
|
||||
@@ -6227,6 +6314,7 @@ void netif_napi_add(struct net_device *d
|
||||
#ifdef CONFIG_NETPOLL
|
||||
napi->poll_owner = -1;
|
||||
#endif
|
||||
@ -202,7 +202,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
set_bit(NAPI_STATE_SCHED, &napi->state);
|
||||
set_bit(NAPI_STATE_NPSVC, &napi->state);
|
||||
list_add_rcu(&napi->dev_list, &dev->napi_list);
|
||||
@@ -6261,6 +6349,7 @@ static void flush_gro_hash(struct napi_s
|
||||
@@ -6267,6 +6355,7 @@ static void flush_gro_hash(struct napi_s
|
||||
void netif_napi_del(struct napi_struct *napi)
|
||||
{
|
||||
might_sleep();
|
||||
@ -210,7 +210,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (napi_hash_del(napi))
|
||||
synchronize_net();
|
||||
list_del_init(&napi->dev_list);
|
||||
@@ -6273,49 +6362,19 @@ EXPORT_SYMBOL(netif_napi_del);
|
||||
@@ -6279,49 +6368,19 @@ EXPORT_SYMBOL(netif_napi_del);
|
||||
|
||||
static int napi_poll(struct napi_struct *n, struct list_head *repoll)
|
||||
{
|
||||
@ -264,7 +264,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/* Some drivers may have called napi_schedule
|
||||
* prior to exhausting their budget.
|
||||
*/
|
||||
@@ -9919,6 +9978,10 @@ static int __init net_dev_init(void)
|
||||
@@ -9925,6 +9984,10 @@ static int __init net_dev_init(void)
|
||||
sd->backlog.weight = weight_p;
|
||||
}
|
||||
|
||||
|
||||
@ -497,7 +497,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||
.name = "sdhci-esdhc",
|
||||
--- a/drivers/mmc/host/sdhci.c
|
||||
+++ b/drivers/mmc/host/sdhci.c
|
||||
@@ -2152,7 +2152,7 @@ static void sdhci_send_tuning(struct sdh
|
||||
@@ -2158,7 +2158,7 @@ static void sdhci_send_tuning(struct sdh
|
||||
|
||||
}
|
||||
|
||||
@ -506,7 +506,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -2169,13 +2169,13 @@ static void __sdhci_execute_tuning(struc
|
||||
@@ -2175,13 +2175,13 @@ static void __sdhci_execute_tuning(struc
|
||||
pr_debug("%s: Tuning timeout, falling back to fixed sampling clock\n",
|
||||
mmc_hostname(host->mmc));
|
||||
sdhci_abort_tuning(host, opcode);
|
||||
@ -522,7 +522,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2187,6 +2187,7 @@ static void __sdhci_execute_tuning(struc
|
||||
@@ -2193,6 +2193,7 @@ static void __sdhci_execute_tuning(struc
|
||||
pr_info("%s: Tuning failed, falling back to fixed sampling clock\n",
|
||||
mmc_hostname(host->mmc));
|
||||
sdhci_reset_tuning(host);
|
||||
@ -530,7 +530,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||
}
|
||||
|
||||
int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
|
||||
@@ -2248,7 +2249,7 @@ int sdhci_execute_tuning(struct mmc_host
|
||||
@@ -2254,7 +2255,7 @@ int sdhci_execute_tuning(struct mmc_host
|
||||
|
||||
sdhci_start_tuning(host);
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/phy/mdio_bus.c
|
||||
+++ b/drivers/net/phy/mdio_bus.c
|
||||
@@ -502,6 +502,55 @@ struct phy_device *mdiobus_scan(struct m
|
||||
@@ -501,6 +501,55 @@ struct phy_device *mdiobus_scan(struct m
|
||||
EXPORT_SYMBOL(mdiobus_scan);
|
||||
|
||||
/**
|
||||
@ -75,7 +75,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
* mdiobus_read_nested - Nested version of the mdiobus_read function
|
||||
* @bus: the mii_bus struct
|
||||
* @addr: the phy address
|
||||
@@ -521,11 +570,9 @@ int mdiobus_read_nested(struct mii_bus *
|
||||
@@ -520,11 +569,9 @@ int mdiobus_read_nested(struct mii_bus *
|
||||
BUG_ON(in_interrupt());
|
||||
|
||||
mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
|
||||
@ -88,7 +88,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
return retval;
|
||||
}
|
||||
EXPORT_SYMBOL(mdiobus_read_nested);
|
||||
@@ -547,11 +594,9 @@ int mdiobus_read(struct mii_bus *bus, in
|
||||
@@ -546,11 +593,9 @@ int mdiobus_read(struct mii_bus *bus, in
|
||||
BUG_ON(in_interrupt());
|
||||
|
||||
mutex_lock(&bus->mdio_lock);
|
||||
@ -101,7 +101,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
return retval;
|
||||
}
|
||||
EXPORT_SYMBOL(mdiobus_read);
|
||||
@@ -577,11 +622,9 @@ int mdiobus_write_nested(struct mii_bus
|
||||
@@ -576,11 +621,9 @@ int mdiobus_write_nested(struct mii_bus
|
||||
BUG_ON(in_interrupt());
|
||||
|
||||
mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
|
||||
@ -114,7 +114,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(mdiobus_write_nested);
|
||||
@@ -604,11 +647,9 @@ int mdiobus_write(struct mii_bus *bus, i
|
||||
@@ -603,11 +646,9 @@ int mdiobus_write(struct mii_bus *bus, i
|
||||
BUG_ON(in_interrupt());
|
||||
|
||||
mutex_lock(&bus->mdio_lock);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user