KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
-LINUX_VERSION-5.4 = .154
+LINUX_VERSION-5.4 = .158
-LINUX_KERNEL_HASH-5.4.154 = 058994f4666b6b0474a4d5228583e394594e406783b7e93d487c2a66c35f3c06
+LINUX_KERNEL_HASH-5.4.158 = 6e018fecdc8fc24553756e582d83b82d65b10a6b03ef36262a24911f839b8d59
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
#include "xhci.h"
#include "xhci-trace.h"
-@@ -64,6 +66,44 @@
+@@ -65,6 +67,44 @@
#define PCI_DEVICE_ID_ASMEDIA_2142_XHCI 0x2142
#define PCI_DEVICE_ID_ASMEDIA_3242_XHCI 0x3242
static const char hcd_name[] = "xhci_hcd";
static struct hc_driver __read_mostly xhci_pci_hc_driver;
-@@ -309,6 +349,873 @@ static void xhci_pme_acpi_rtd3_enable(st
+@@ -311,6 +351,873 @@ static void xhci_pme_acpi_rtd3_enable(st
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
#endif /* CONFIG_ACPI */
/* called during probe() after chip reset completes */
static int xhci_pci_setup(struct usb_hcd *hcd)
{
-@@ -350,6 +1257,27 @@ static int xhci_pci_probe(struct pci_dev
+@@ -352,6 +1259,27 @@ static int xhci_pci_probe(struct pci_dev
struct hc_driver *driver;
struct usb_hcd *hcd;
driver = (struct hc_driver *)id->driver_data;
/* Prevent runtime suspending between USB-2 and USB-3 initialization */
-@@ -411,6 +1339,16 @@ static void xhci_pci_remove(struct pci_d
+@@ -413,6 +1341,16 @@ static void xhci_pci_remove(struct pci_d
{
struct xhci_hcd *xhci;
xhci = hcd_to_xhci(pci_get_drvdata(dev));
xhci->xhc_state |= XHCI_STATE_REMOVING;
-@@ -550,6 +1488,11 @@ static int xhci_pci_resume(struct usb_hc
+@@ -552,6 +1490,11 @@ static int xhci_pci_resume(struct usb_hc
if (pdev->vendor == PCI_VENDOR_ID_INTEL)
usb_enable_intel_xhci_ports(pdev);
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -288,6 +288,7 @@ static void xhci_pci_quirks(struct devic
+@@ -290,6 +290,7 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x0015) {
xhci->quirks |= XHCI_RESET_ON_RESUME;
xhci->quirks |= XHCI_ZERO_64B_REGS;
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -257,6 +257,10 @@ static void xhci_pci_quirks(struct devic
+@@ -259,6 +259,10 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x3432)
xhci->quirks |= XHCI_BROKEN_STREAMS;
extern int usb_driver_set_configuration(struct usb_device *udev, int config);
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
-@@ -384,6 +384,11 @@ struct hc_driver {
+@@ -382,6 +382,11 @@ struct hc_driver {
* or bandwidth constraints.
*/
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
/* Returns the hardware-chosen device address */
int (*address_device)(struct usb_hcd *, struct usb_device *udev);
/* prepares the hardware to send commands to the device */
-@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_
+@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_
extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *);
extern void usb_hcd_flush_endpoint(struct usb_device *udev,
struct usb_host_endpoint *ep);
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1469,6 +1469,103 @@ command_cleanup:
+@@ -1468,6 +1468,103 @@ command_cleanup:
}
/*
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
-@@ -5358,6 +5455,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5362,6 +5459,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -258,8 +258,10 @@ static void xhci_pci_quirks(struct devic
+@@ -260,8 +260,10 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_BROKEN_STREAMS;
if (pdev->vendor == PCI_VENDOR_ID_VIA &&
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -550,7 +550,10 @@ void xhci_find_new_dequeue_state(struct
+@@ -556,7 +556,10 @@ void xhci_find_new_dequeue_state(struct
struct xhci_virt_ep *ep = &dev->eps[ep_index];
struct xhci_ring *ep_ring;
struct xhci_segment *new_seg;
dma_addr_t addr;
u64 hw_dequeue;
bool cycle_found = false;
-@@ -588,7 +591,28 @@ void xhci_find_new_dequeue_state(struct
+@@ -594,7 +597,28 @@ void xhci_find_new_dequeue_state(struct
hw_dequeue = xhci_get_hw_deq(xhci, dev, ep_index, stream_id);
new_seg = ep_ring->deq_seg;
new_deq = ep_ring->dequeue;
#define MAX_TUNING_LOOP 40
-@@ -2762,7 +2762,7 @@ static void sdhci_timeout_timer(struct t
+@@ -2768,7 +2768,7 @@ static void sdhci_timeout_timer(struct t
spin_lock_irqsave(&host->lock, flags);
if (host->cmd && !sdhci_data_line_cmd(host->cmd)) {
mmc_hostname(host->mmc));
sdhci_dumpregs(host);
-@@ -2784,7 +2784,7 @@ static void sdhci_timeout_data_timer(str
+@@ -2790,7 +2790,7 @@ static void sdhci_timeout_data_timer(str
if (host->data || host->data_cmd ||
(host->cmd && sdhci_data_line_cmd(host->cmd))) {
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -261,6 +261,7 @@ static void xhci_pci_quirks(struct devic
+@@ -263,6 +263,7 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x3483) {
xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -647,6 +647,16 @@ void xhci_find_new_dequeue_state(struct
+@@ -653,6 +653,16 @@ void xhci_find_new_dequeue_state(struct
} while (!cycle_found || !td_last_trb_found);
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -5423,8 +5423,7 @@ static inline void skb_gro_reset_offset(
+@@ -5429,8 +5429,7 @@ static inline void skb_gro_reset_offset(
NAPI_GRO_CB(skb)->frag0 = NULL;
NAPI_GRO_CB(skb)->frag0_len = 0;
#include <linux/workqueue.h>
#include <linux/mdio.h>
#include <linux/io.h>
-@@ -843,6 +844,9 @@ void phy_stop(struct phy_device *phydev)
+@@ -863,6 +864,9 @@ void phy_stop(struct phy_device *phydev)
mutex_lock(&phydev->lock);
phydev->state = PHY_HALTED;
mutex_unlock(&phydev->lock);
-@@ -905,6 +909,9 @@ void phy_state_machine(struct work_struc
+@@ -925,6 +929,9 @@ void phy_state_machine(struct work_struc
old_state = phydev->state;
+++ /dev/null
-From 07c6f9805f12f1bb538ef165a092b300350384aa Mon Sep 17 00:00:00 2001
-From: Russell King <rmk+kernel@armlinux.org.uk>
-Date: Wed, 26 Feb 2020 17:14:21 +0000
-Subject: [PATCH] net: switchdev: do not propagate bridge updates across
- bridges
-
-When configuring a tree of independent bridges, propagating changes
-from the upper bridge across a bridge master to the lower bridge
-ports brings surprises.
-
-For example, a lower bridge may have vlan filtering enabled. It
-may have a vlan interface attached to the bridge master, which may
-then be incorporated into another bridge. As soon as the lower
-bridge vlan interface is attached to the upper bridge, the lower
-bridge has vlan filtering disabled.
-
-This occurs because switchdev recursively applies its changes to
-all lower devices no matter what.
-
-Reviewed-by: Ido Schimmel <idosch@mellanox.com>
-Tested-by: Ido Schimmel <idosch@mellanox.com>
-Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- net/switchdev/switchdev.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/net/switchdev/switchdev.c
-+++ b/net/switchdev/switchdev.c
-@@ -476,6 +476,9 @@ static int __switchdev_handle_port_obj_a
- * necessary to go through this helper.
- */
- netdev_for_each_lower_dev(dev, lower_dev, iter) {
-+ if (netif_is_bridge_master(lower_dev))
-+ continue;
-+
- err = __switchdev_handle_port_obj_add(lower_dev, port_obj_info,
- check_cb, add_cb);
- if (err && err != -EOPNOTSUPP)
-@@ -528,6 +531,9 @@ static int __switchdev_handle_port_obj_d
- * necessary to go through this helper.
- */
- netdev_for_each_lower_dev(dev, lower_dev, iter) {
-+ if (netif_is_bridge_master(lower_dev))
-+ continue;
-+
- err = __switchdev_handle_port_obj_del(lower_dev, port_obj_info,
- check_cb, del_cb);
- if (err && err != -EOPNOTSUPP)
-@@ -579,6 +585,9 @@ static int __switchdev_handle_port_attr_
- * necessary to go through this helper.
- */
- netdev_for_each_lower_dev(dev, lower_dev, iter) {
-+ if (netif_is_bridge_master(lower_dev))
-+ continue;
-+
- err = __switchdev_handle_port_attr_set(lower_dev, port_attr_info,
- check_cb, set_cb);
- if (err && err != -EOPNOTSUPP)
struct scsi_vpd *vpd_pg80 = NULL, *vpd_pg83 = NULL;
+ struct scsi_vpd *vpd_pg0 = NULL, *vpd_pg89 = NULL;
unsigned long flags;
+ struct module *mod;
- sdev = container_of(work, struct scsi_device, ew.work);
-@@ -466,16 +467,24 @@ static void scsi_device_dev_release_user
+@@ -469,16 +470,24 @@ static void scsi_device_dev_release_user
sdev->request_queue = NULL;
mutex_lock(&sdev->inquiry_mutex);
kfree(sdev->inquiry);
kfree(sdev);
-@@ -874,6 +883,8 @@ static struct bin_attribute dev_attr_vpd
+@@ -883,6 +892,8 @@ static struct bin_attribute dev_attr_vpd
sdev_vpd_pg_attr(pg83);
sdev_vpd_pg_attr(pg80);
static ssize_t show_inquiry(struct file *filep, struct kobject *kobj,
struct bin_attribute *bin_attr,
-@@ -1206,12 +1217,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
+@@ -1215,12 +1226,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
struct scsi_device *sdev = to_scsi_device(dev);
return S_IRUGO;
}
-@@ -1254,8 +1271,10 @@ static struct attribute *scsi_sdev_attrs
+@@ -1263,8 +1280,10 @@ static struct attribute *scsi_sdev_attrs
};
static struct bin_attribute *scsi_sdev_bin_attrs[] = {
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -111,6 +111,7 @@ config ARM
+@@ -112,6 +112,7 @@ config ARM
select HAVE_UID16
select HAVE_VIRT_CPU_ACCOUNTING_GEN
select IRQ_FORCED_THREADING
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3192,10 +3192,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3198,10 +3198,20 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);
return -EINVAL;
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
-@@ -93,6 +93,8 @@ static int ip6_pkt_discard(struct sk_bu
+@@ -94,6 +94,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);
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,
-@@ -326,6 +328,18 @@ static const struct rt6_info ip6_prohibi
+@@ -327,6 +329,18 @@ static const struct rt6_info ip6_prohibi
.rt6i_flags = (RTF_REJECT | RTF_NONEXTHOP),
};
static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = {
.__refcnt = ATOMIC_INIT(1),
-@@ -1047,6 +1061,7 @@ static const int fib6_prop[RTN_MAX + 1]
+@@ -1048,6 +1062,7 @@ static const int fib6_prop[RTN_MAX + 1]
[RTN_BLACKHOLE] = -EINVAL,
[RTN_UNREACHABLE] = -EHOSTUNREACH,
[RTN_PROHIBIT] = -EACCES,
[RTN_THROW] = -EAGAIN,
[RTN_NAT] = -EINVAL,
[RTN_XRESOLVE] = -EINVAL,
-@@ -1084,6 +1099,10 @@ static void ip6_rt_init_dst_reject(struc
+@@ -1085,6 +1100,10 @@ static void ip6_rt_init_dst_reject(struc
rt->dst.output = ip6_pkt_prohibit_out;
rt->dst.input = ip6_pkt_prohibit;
break;
case RTN_THROW:
case RTN_UNREACHABLE:
default:
-@@ -4426,6 +4445,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4434,6 +4453,17 @@ static int ip6_pkt_prohibit_out(struct n
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
}
/*
* Allocate a dst for local (unicast / anycast) address.
*/
-@@ -4906,7 +4936,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -4914,7 +4944,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 ||
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
-@@ -6029,6 +6060,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6037,6 +6068,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);
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
-@@ -6040,6 +6073,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6048,6 +6081,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);
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
#endif
}
-@@ -6232,6 +6266,8 @@ static int __net_init ip6_route_net_init
+@@ -6240,6 +6274,8 @@ static int __net_init ip6_route_net_init
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.fib6_has_custom_rules = false;
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
sizeof(*net->ipv6.ip6_prohibit_entry),
GFP_KERNEL);
-@@ -6242,11 +6278,21 @@ static int __net_init ip6_route_net_init
+@@ -6250,11 +6286,21 @@ static int __net_init ip6_route_net_init
ip6_template_metrics, true);
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
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);
-@@ -6270,6 +6316,8 @@ out:
+@@ -6278,6 +6324,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
-@@ -6289,6 +6337,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6297,6 +6345,7 @@ static void __net_exit ip6_route_net_exi
kfree(net->ipv6.ip6_null_entry);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry);
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6366,6 +6415,9 @@ void __init ip6_route_init_special_entri
+@@ -6374,6 +6423,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);
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -5489,6 +5489,9 @@ static enum gro_result dev_gro_receive(s
+@@ -5495,6 +5495,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -7291,6 +7294,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7297,6 +7300,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
-@@ -7341,6 +7386,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7347,6 +7392,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -7434,6 +7480,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -7440,6 +7486,7 @@ void netdev_upper_dev_unlink(struct net_
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
-@@ -8164,6 +8211,7 @@ int dev_set_mac_address(struct net_devic
+@@ -8170,6 +8217,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
static int netif_rx_internal(struct sk_buff *skb);
static int call_netdevice_notifiers_info(unsigned long val,
-@@ -5931,6 +5932,11 @@ void __napi_schedule(struct napi_struct
+@@ -5937,6 +5938,11 @@ void __napi_schedule(struct napi_struct
{
unsigned long flags;
local_irq_save(flags);
____napi_schedule(this_cpu_ptr(&softnet_data), n);
local_irq_restore(flags);
-@@ -5982,6 +5988,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
+@@ -5988,6 +5994,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
*/
void __napi_schedule_irqoff(struct napi_struct *n)
{
if (!IS_ENABLED(CONFIG_PREEMPT_RT))
____napi_schedule(this_cpu_ptr(&softnet_data), n);
else
-@@ -6246,9 +6257,89 @@ static void init_gro_hash(struct napi_st
+@@ -6252,9 +6263,89 @@ static void init_gro_hash(struct napi_st
napi->gro_bitmask = 0;
}
INIT_LIST_HEAD(&napi->poll_list);
hrtimer_init(&napi->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_PINNED);
napi->timer.function = napi_watchdog;
-@@ -6265,6 +6356,7 @@ void netif_napi_add(struct net_device *d
+@@ -6271,6 +6362,7 @@ void netif_napi_add(struct net_device *d
#ifdef CONFIG_NETPOLL
napi->poll_owner = -1;
#endif
set_bit(NAPI_STATE_SCHED, &napi->state);
set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list);
-@@ -6305,6 +6397,7 @@ static void flush_gro_hash(struct napi_s
+@@ -6311,6 +6403,7 @@ static void flush_gro_hash(struct napi_s
void netif_napi_del(struct napi_struct *napi)
{
might_sleep();
if (napi_hash_del(napi))
synchronize_net();
list_del_init(&napi->dev_list);
-@@ -6317,50 +6410,18 @@ EXPORT_SYMBOL(netif_napi_del);
+@@ -6323,50 +6416,18 @@ EXPORT_SYMBOL(netif_napi_del);
static int napi_poll(struct napi_struct *n, struct list_head *repoll)
{
/* Some drivers may have called napi_schedule
* prior to exhausting their budget.
-@@ -10340,6 +10401,10 @@ static int __init net_dev_init(void)
+@@ -10346,6 +10407,10 @@ static int __init net_dev_init(void)
sd->backlog.weight = weight_p;
}
#endif /* __LINUX_USB_PCI_QUIRKS_H */
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
-@@ -485,7 +485,14 @@ extern int usb_hcd_pci_probe(struct pci_
+@@ -483,7 +483,14 @@ extern int usb_hcd_pci_probe(struct pci_
extern void usb_hcd_pci_remove(struct pci_dev *dev);
extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -318,7 +318,7 @@ config ARCH_MULTIPLATFORM
+@@ -319,7 +319,7 @@ config ARCH_MULTIPLATFORM
depends on MMU
select ARM_HAS_SG_CHAIN
select ARM_PATCH_PHYS_VIRT
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1827,6 +1827,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
+@@ -1828,6 +1828,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
The command-line arguments provided by the boot loader will be
appended to the the device tree bootargs property.
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1840,6 +1840,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL
+@@ -1841,6 +1841,14 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGL
endchoice
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
-@@ -108,7 +108,13 @@ config LANTIQ_ETOP
+@@ -109,7 +109,13 @@ config LANTIQ_ETOP
tristate "Lantiq SoC ETOP driver"
depends on SOC_TYPE_XWAY
---help---
int is_setup
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
-@@ -411,7 +411,10 @@ struct hc_driver {
+@@ -409,7 +409,10 @@ struct hc_driver {
int (*find_raw_port_number)(struct usb_hcd *, int);
/* Call for power on/off the port if necessary */
int (*port_power)(struct usb_hcd *hcd, int portnum, bool enable);
};
static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd)
-@@ -476,6 +479,14 @@ int usb_hcd_setup_local_mem(struct usb_h
+@@ -474,6 +477,14 @@ int usb_hcd_setup_local_mem(struct usb_h
struct platform_device;
extern void usb_hcd_platform_shutdown(struct platform_device *dev);
retval = xhci_enter_test_mode(xhci, test_mode, wIndex,
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -3624,6 +3624,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3630,6 +3630,129 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
return 0;
}
* bursts that are required to move all packets in this TD. Only SuperSpeed
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -5385,6 +5385,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5389,6 +5389,7 @@ static const struct hc_driver xhci_hc_dr
.disable_usb3_lpm_timeout = xhci_disable_usb3_lpm_timeout,
.find_raw_port_number = xhci_find_raw_port_number,
.clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -2091,12 +2091,9 @@ static int process_ctrl_td(struct xhci_h
+@@ -2097,12 +2097,9 @@ static int process_ctrl_td(struct xhci_h
switch (trb_comp_code) {
case COMP_SUCCESS:
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -5406,6 +5406,8 @@ void xhci_init_driver(struct hc_driver *
+@@ -5410,6 +5410,8 @@ void xhci_init_driver(struct hc_driver *
drv->check_bandwidth = over->check_bandwidth;
if (over->reset_bandwidth)
drv->reset_bandwidth = over->reset_bandwidth;
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
-@@ -879,10 +879,12 @@ static int pca953x_irq_setup(struct pca9
+@@ -881,10 +881,12 @@ static int pca953x_irq_setup(struct pca9
for (i = 0; i < NBANK(chip); i++)
chip->irq_stat[i] &= reg_direction[i];
mutex_init(&chip->irq_lock);
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1827,6 +1827,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
+@@ -1828,6 +1828,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
The command-line arguments provided by the boot loader will be
appended to the the device tree bootargs property.
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1827,6 +1827,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
+@@ -1828,6 +1828,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
The command-line arguments provided by the boot loader will be
appended to the the device tree bootargs property.
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
-@@ -159,6 +159,7 @@ source "drivers/net/ethernet/pasemi/Kcon
+@@ -160,6 +160,7 @@ source "drivers/net/ethernet/pasemi/Kcon
source "drivers/net/ethernet/pensando/Kconfig"
source "drivers/net/ethernet/qlogic/Kconfig"
source "drivers/net/ethernet/qualcomm/Kconfig"
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -547,7 +547,10 @@ static int phy_check_link_status(struct
+@@ -549,7 +549,10 @@ static int phy_check_link_status(struct
phy_link_up(phydev);
} else if (!phydev->link && phydev->state != PHY_NOLINK) {
phydev->state = PHY_NOLINK;
}
return 0;
-@@ -927,7 +930,10 @@ void phy_state_machine(struct work_struc
+@@ -947,7 +950,10 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
-@@ -163,6 +163,13 @@ source "drivers/net/ethernet/rdc/Kconfig
+@@ -164,6 +164,13 @@ source "drivers/net/ethernet/rdc/Kconfig
source "drivers/net/ethernet/realtek/Kconfig"
source "drivers/net/ethernet/renesas/Kconfig"
source "drivers/net/ethernet/rocker/Kconfig"