Compile and runtime tested on lantiq/xrx200 and ipq40xx.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
-LINUX_VERSION-4.14 = .187
+LINUX_VERSION-4.14 = .193
-LINUX_KERNEL_HASH-4.14.187 = 5b223475eaeea196aa7e127d3f253bca5c35d8afdc72ca75230ce1ecdd1454bd
+LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
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"
-@@ -269,6 +271,458 @@ static void xhci_pme_acpi_rtd3_enable(st
+@@ -272,6 +274,458 @@ 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)
{
-@@ -307,6 +761,22 @@ static int xhci_pci_probe(struct pci_dev
+@@ -310,6 +764,22 @@ static int xhci_pci_probe(struct pci_dev
struct hc_driver *driver;
struct usb_hcd *hcd;
driver = (struct hc_driver *)id->driver_data;
/* For some HW implementation, a XHCI reset is just not enough... */
-@@ -368,6 +838,16 @@ static void xhci_pci_remove(struct pci_d
+@@ -371,6 +841,16 @@ static void xhci_pci_remove(struct pci_d
{
struct xhci_hcd *xhci;
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -3878,14 +3878,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3879,14 +3879,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -3878,14 +3878,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3879,14 +3879,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
u32 *data, int in_pm)
{
-@@ -1972,7 +1976,8 @@ static int smsc95xx_rx_fixup(struct usbn
+@@ -1979,7 +1983,8 @@ static int smsc95xx_rx_fixup(struct usbn
if (dev->net->features & NETIF_F_RXCSUM)
smsc95xx_rx_csum_offload(skb);
skb_trim(skb, skb->len - 4); /* remove fcs */
return 1;
}
-@@ -1990,7 +1995,8 @@ static int smsc95xx_rx_fixup(struct usbn
+@@ -1997,7 +2002,8 @@ static int smsc95xx_rx_fixup(struct usbn
if (dev->net->features & NETIF_F_RXCSUM)
smsc95xx_rx_csum_offload(ax_skb);
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL);
-@@ -3730,7 +3735,12 @@ static int lan78xx_probe(struct usb_inte
+@@ -3735,7 +3740,12 @@ static int lan78xx_probe(struct usb_inte
dev->pipe_intr = usb_rcvintpipe(dev->udev,
dev->ep_intr->desc.bEndpointAddress &
USB_ENDPOINT_NUMBER_MASK);
* Before updating sk_refcnt, we must commit prior changes to memory
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -1697,7 +1697,7 @@ u32 tcp_tso_autosize(const struct sock *
+@@ -1699,7 +1699,7 @@ u32 tcp_tso_autosize(const struct sock *
{
u32 bytes, segs;
sk->sk_gso_max_size - 1 - MAX_TCP_HEADER);
/* Goal is to send at least one packet per ms,
-@@ -2215,7 +2215,7 @@ static bool tcp_small_queue_check(struct
+@@ -2217,7 +2217,7 @@ static bool tcp_small_queue_check(struct
{
unsigned int limit;
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
-@@ -1987,7 +1987,8 @@ static const struct usb_device_id option
+@@ -1990,7 +1990,8 @@ static const struct usb_device_id option
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
--- a/drivers/tty/serial/8250/8250_exar.c
+++ b/drivers/tty/serial/8250/8250_exar.c
-@@ -283,8 +283,32 @@ static int xr17v35x_register_gpio(struct
+@@ -293,8 +293,32 @@ static int xr17v35x_register_gpio(struct
return 0;
}
};
static int iot2040_rs485_config(struct uart_port *port,
-@@ -317,19 +341,7 @@ static int iot2040_rs485_config(struct u
+@@ -327,19 +351,7 @@ static int iot2040_rs485_config(struct u
value |= mode;
writeb(value, p + UART_EXAR_MPIOLVL_7_0);
/*
* Data section helpers
-@@ -496,7 +497,7 @@
+@@ -497,7 +498,7 @@
#define ENTRY_TEXT \
ALIGN_FUNCTION(); \
VMLINUX_SYMBOL(__entry_text_start) = .; \
VMLINUX_SYMBOL(__entry_text_end) = .;
#define IRQENTRY_TEXT \
-@@ -603,7 +604,7 @@
+@@ -604,7 +605,7 @@
. = ALIGN(sbss_align); \
.sbss : AT(ADDR(.sbss) - LOAD_OFFSET) { \
*(.dynsbss) \
#include <linux/export.h>
/* Align . to a 8 byte boundary equals to maximum function alignment. */
-@@ -341,14 +351,14 @@
+@@ -342,14 +352,14 @@
/* Kernel symbol table: Normal symbols */ \
__ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \
VMLINUX_SYMBOL(__start___ksymtab) = .; \
VMLINUX_SYMBOL(__stop___ksymtab_gpl) = .; \
} \
\
-@@ -410,7 +420,7 @@
+@@ -411,7 +421,7 @@
\
/* Kernel symbol table: strings */ \
__ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
} \
\
/* __*init sections */ \
-@@ -793,6 +803,8 @@
+@@ -796,6 +806,8 @@
EXIT_TEXT \
EXIT_DATA \
EXIT_CALL \
/* The Mellanox Tavor device gives false positive parity errors
* Mark this device with a broken_parity_status, to allow
* PCI scanning code to "skip" this now blacklisted device.
-@@ -3095,6 +3096,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3108,6 +3109,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
/*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To
-@@ -3151,6 +3153,8 @@ static void fixup_debug_report(struct pc
+@@ -3164,6 +3166,8 @@ static void fixup_debug_report(struct pc
}
}
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled,
* even though no one is handling them (f.e. i915 driver is never loaded).
-@@ -3189,6 +3193,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3202,6 +3206,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
drivers/net/phy/ar40xx.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
-diff --git a/drivers/net/phy/ar40xx.c b/drivers/net/phy/ar40xx.c
-index e408e8f7312f749aeb29c73a589047856e9479c7..421399b9b33e6f42d4e38db3f90b0c1d514a0b79 100644
--- a/drivers/net/phy/ar40xx.c
+++ b/drivers/net/phy/ar40xx.c
-@@ -1200,7 +1200,11 @@ ar40xx_init_port(struct ar40xx_priv *priv, int port)
+@@ -1200,7 +1200,11 @@ ar40xx_init_port(struct ar40xx_priv *pri
ar40xx_rmw(priv, AR40XX_REG_PORT_STATUS(port),
AR40XX_PORT_AUTO_LINK_EN, 0);
ar40xx_write(priv, AR40XX_REG_PORT_VLAN0(port), 0);
-From: Sven Eckelmann <sven@narfation.org>
-Date: Fri, 17 Mar 2017 11:00:40 +0100
-Subject: [PATCH] ipq40xx: Disable CTAG TX VLAN offloading
-
-The driver requires the offloading to set the VLAN specific header for the
-port selection. It can therefore not be used at the same time to offload
-the setting of the VLAN header on top of essedma interface.
-
-Forwarded: no
----
- drivers/net/ethernet/qualcomm/essedma/edma_axi.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/drivers/net/ethernet/qualcomm/essedma/edma_axi.c b/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
-index 81fc1e1b64daa41b15f21634ac1f08de0f5822a7..db184b82769f53e1554a1c51c53414ef7cadd7f6 100644
---- a/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
-+++ b/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
-@@ -970,7 +970,6 @@ static int edma_axi_probe(struct platform_device *pdev)
- edma_netdev[i]->netdev_ops = &edma_axi_netdev_ops;
- edma_netdev[i]->max_mtu = 9000;
- edma_netdev[i]->features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM
-- | NETIF_F_HW_VLAN_CTAG_TX
- | NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_SG |
- NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GRO;
- edma_netdev[i]->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM |
-From: Sven Eckelmann <sven@narfation.org>
-Date: Fri, 17 Mar 2017 11:04:50 +0100
-Subject: [PATCH] ar40xx: Enable QinQ on the switch
-
-The switch used in by IPQ40xx is using VLANs by default to select the
-outgoing port. It was therefore not possible to sent or receive 802.1q
-tagged frames over the CPU port. This can be allowed by changing the port
-configuration and lookup configuration.
-
-The resulting VLAN-tagged frames send or received by the CPU will therefore
-look like QinQ frames. The outer VLAN tag is the port-VLAN of the port from
-which the data was received or towards which the data has to be sent. The
-inner VLAN tag (when it exists) is the VLAN which was configrued on top of
-the ethernet device.
-
-Forwarded: no
----
- drivers/net/phy/ar40xx.c | 23 ++++++++++++++++++++---
- drivers/net/phy/ar40xx.h | 5 +++++
- 2 files changed, 25 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/net/phy/ar40xx.c b/drivers/net/phy/ar40xx.c
-index 421399b9b33e6f42d4e38db3f90b0c1d514a0b79..4af26638d542a9ab5ca27454ce557233bcb64575 100644
---- a/drivers/net/phy/ar40xx.c
-+++ b/drivers/net/phy/ar40xx.c
-@@ -1247,6 +1247,10 @@ ar40xx_init_globals(struct ar40xx_priv *priv)
+@@ -1243,6 +1247,10 @@ ar40xx_init_globals(struct ar40xx_priv *
t = (AR40XX_PORT0_FC_THRESH_ON_DFLT << 16) |
AR40XX_PORT0_FC_THRESH_OFF_DFLT;
ar40xx_write(priv, AR40XX_REG_PORT_FLOWCTRL_THRESH(0), t);
}
static void
-@@ -1572,7 +1576,11 @@ ar40xx_setup_port(struct ar40xx_priv *priv, int port, u32 members)
+@@ -1568,7 +1576,11 @@ ar40xx_setup_port(struct ar40xx_priv *pr
u32 pvid = priv->vlan_id[priv->pvid[port]];
if (priv->vlan) {
ingress = AR40XX_IN_SECURE;
} else {
egress = AR40XX_PORT_VLAN1_OUT_MODE_UNTOUCH;
-@@ -1583,8 +1591,17 @@ ar40xx_setup_port(struct ar40xx_priv *priv, int port, u32 members)
+@@ -1579,8 +1591,17 @@ ar40xx_setup_port(struct ar40xx_priv *pr
t |= pvid << AR40XX_PORT_VLAN0_DEF_CVID_S;
ar40xx_write(priv, AR40XX_REG_PORT_VLAN0(port), t);
ar40xx_write(priv, AR40XX_REG_PORT_VLAN1(port), t);
t = members;
-diff --git a/drivers/net/phy/ar40xx.h b/drivers/net/phy/ar40xx.h
-index 722bf6ae4b32fcefa33e007ae34a3202315a3fe1..7ba40ccf753fe833e6a01b32cfe1407a317d92ee 100644
+--- a/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
++++ b/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
+@@ -970,7 +970,6 @@ static int edma_axi_probe(struct platfor
+ edma_netdev[i]->netdev_ops = &edma_axi_netdev_ops;
+ edma_netdev[i]->max_mtu = 9000;
+ edma_netdev[i]->features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM
+- | NETIF_F_HW_VLAN_CTAG_TX
+ | NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_SG |
+ NETIF_F_TSO | NETIF_F_GRO;
+ edma_netdev[i]->hw_features = NETIF_F_HW_CSUM | NETIF_F_RXCSUM |
+@@ -982,10 +981,10 @@ static int edma_axi_probe(struct platfor
+ NETIF_F_TSO | NETIF_F_GRO;
+
+ #ifdef CONFIG_RFS_ACCEL
+- edma_netdev[i]->features |= NETIF_F_RXHASH | NETIF_F_NTUPLE;
+- edma_netdev[i]->hw_features |= NETIF_F_RXHASH | NETIF_F_NTUPLE;
+- edma_netdev[i]->vlan_features |= NETIF_F_RXHASH | NETIF_F_NTUPLE;
+- edma_netdev[i]->wanted_features |= NETIF_F_RXHASH | NETIF_F_NTUPLE;
++ edma_netdev[i]->features |= NETIF_F_NTUPLE;
++ edma_netdev[i]->hw_features |= NETIF_F_NTUPLE;
++ edma_netdev[i]->vlan_features |= NETIF_F_NTUPLE;
++ edma_netdev[i]->wanted_features |= NETIF_F_NTUPLE;
+ #endif
+ edma_set_ethtool_ops(edma_netdev[i]);
+
--- a/drivers/net/phy/ar40xx.h
+++ b/drivers/net/phy/ar40xx.h
@@ -151,6 +151,9 @@ struct ar40xx_mib_desc {
#define AR40XX_PORT_VLAN1_PORT_VLAN_PROP BIT(6)
#define AR40XX_PORT_VLAN1_OUT_MODE BITS(12, 2)
#define AR40XX_PORT_VLAN1_OUT_MODE_S 12
-From: Sven Eckelmann <sven@narfation.org>
-Date: Wed, 29 Mar 2017 16:05:26 +0200
-Subject: [PATCH] ipq40xx: Disable NETIF_F_RXHASH support in essedma
-
-The NETIF_F_RXHASH requires that each skb set the hash correctly with
-skb_set_hash. essedma tries to do that but the set hash always results in
-only used CPU when RPS is allowed for all CPUs.
-
-Disabling RXHASH works around this problem for now.
-
-IssueID: #5477
-Forwarded: no
- Upstream author was informed via e-mail about the problem
----
- drivers/net/ethernet/qualcomm/essedma/edma_axi.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/net/ethernet/qualcomm/essedma/edma_axi.c b/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
-index db184b82769f53e1554a1c51c53414ef7cadd7f6..975e119cfe6f1a8cfe54ac0eb8f8752aa4bf22af 100644
---- a/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
-+++ b/drivers/net/ethernet/qualcomm/essedma/edma_axi.c
-@@ -984,10 +984,10 @@ static int edma_axi_probe(struct platform_device *pdev)
- NETIF_F_GRO;
-
- #ifdef CONFIG_RFS_ACCEL
-- edma_netdev[i]->features |= NETIF_F_RXHASH | NETIF_F_NTUPLE;
-- edma_netdev[i]->hw_features |= NETIF_F_RXHASH | NETIF_F_NTUPLE;
-- edma_netdev[i]->vlan_features |= NETIF_F_RXHASH | NETIF_F_NTUPLE;
-- edma_netdev[i]->wanted_features |= NETIF_F_RXHASH | NETIF_F_NTUPLE;
-+ edma_netdev[i]->features |= NETIF_F_NTUPLE;
-+ edma_netdev[i]->hw_features |= NETIF_F_NTUPLE;
-+ edma_netdev[i]->vlan_features |= NETIF_F_NTUPLE;
-+ edma_netdev[i]->wanted_features |= NETIF_F_NTUPLE;
- #endif
- edma_set_ethtool_ops(edma_netdev[i]);
-
#define PROT_SECT_DEVICE_nGnRE (PROT_SECT_DEFAULT | PMD_SECT_PXN | PMD_SECT_UXN | PMD_ATTRINDX(MT_DEVICE_nGnRE))
#define PROT_SECT_NORMAL (PROT_SECT_DEFAULT | PMD_SECT_PXN | PMD_SECT_UXN | PMD_ATTRINDX(MT_NORMAL))
@@ -68,6 +69,7 @@
- #define PAGE_HYP_DEVICE __pgprot(PROT_DEVICE_nGnRE | PTE_HYP)
+ #define PAGE_HYP_DEVICE __pgprot(_PROT_DEFAULT | PTE_ATTRINDX(MT_DEVICE_nGnRE) | PTE_HYP | PTE_HYP_XN)
#define PAGE_S2 __pgprot(_PROT_DEFAULT | PTE_S2_MEMATTR(MT_S2_NORMAL) | PTE_S2_RDONLY)
+#define PAGE_S2_NS __pgprot(PTE_S2_MEMATTR(MT_S2_NORMAL) | PTE_S2_RDWR | PTE_TYPE_PAGE | PTE_AF)
dst_addr = sg_dma_address(sg);
soff = 0;
doff = fsl_chan->fsc.addr_width;
-@@ -802,6 +858,7 @@ static void fsl_edma_free_chan_resources
+@@ -809,6 +865,7 @@ static void fsl_edma_free_chan_resources
fsl_edma_chan_mux(fsl_chan, 0, false);
fsl_chan->edesc = NULL;
vchan_get_all_descriptors(&fsl_chan->vchan, &head);
spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags);
vchan_dma_desc_free_list(&fsl_chan->vchan, &head);
-@@ -937,6 +994,7 @@ static int fsl_edma_probe(struct platfor
+@@ -944,6 +1001,7 @@ static int fsl_edma_probe(struct platfor
fsl_chan->slave_id = 0;
fsl_chan->idle = true;
fsl_chan->vchan.desc_free = fsl_edma_free_desc;
* them, we have to fall back to INTx or other interrupts, e.g., a
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -3395,6 +3395,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
+@@ -3408,6 +3408,13 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0034, quirk_no_bus_reset);
{ "w25x32", INFO(0xef3016, 0, 64 * 1024, 64, SECT_4K) },
{ "w25q20cl", INFO(0xef4012, 0, 64 * 1024, 4, SECT_4K) },
{ "w25q20bw", INFO(0xef5012, 0, 64 * 1024, 4, SECT_4K) },
---- a/drivers/spi/spi-fsl-dspi.c
-+++ b/drivers/spi/spi-fsl-dspi.c
-@@ -1024,8 +1024,8 @@ static int dspi_probe(struct platform_de
- goto out_clk_put;
- }
-
-- ret = devm_request_irq(&pdev->dev, dspi->irq, dspi_interrupt, 0,
-- pdev->name, dspi);
-+ ret = devm_request_irq(&pdev->dev, dspi->irq, dspi_interrupt,
-+ IRQF_SHARED, pdev->name, dspi);
- if (ret < 0) {
- dev_err(&pdev->dev, "Unable to attach DSPI interrupt\n");
- goto out_clk_put;
--- a/drivers/usb/host/xhci-mtk-sch.c
+++ b/drivers/usb/host/xhci-mtk-sch.c
-@@ -289,12 +289,13 @@ static bool need_bw_sch(struct usb_host_
+@@ -293,12 +293,13 @@ static bool need_bw_sch(struct usb_host_
int xhci_mtk_sch_init(struct xhci_hcd_mtk *mtk)
{
if (!xhci->shared_hcd) {
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -280,6 +280,9 @@ static int xhci_pci_setup(struct usb_hcd
+@@ -283,6 +283,9 @@ static int xhci_pci_setup(struct usb_hcd
if (!xhci->sbrn)
pci_read_config_byte(pdev, XHCI_SBRN_OFFSET, &xhci->sbrn);
struct mtk_thermal;
struct thermal_bank_cfg {
-@@ -767,7 +760,7 @@ static struct platform_driver mtk_therma
+@@ -765,7 +758,7 @@ static struct platform_driver mtk_therma
.probe = mtk_thermal_probe,
.remove = mtk_thermal_remove,
.driver = {
/**
* raw_to_mcelsius - convert a raw ADC value to mcelsius
* @mt: The thermal controller
-@@ -633,6 +664,10 @@ static const struct of_device_id mtk_the
+@@ -631,6 +662,10 @@ static const struct of_device_id mtk_the
{
.compatible = "mediatek,mt2712-thermal",
.data = (void *)&mt2712_thermal_data,
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
-@@ -406,6 +406,12 @@ static int dwc2_driver_probe(struct plat
+@@ -407,6 +407,12 @@ static int dwc2_driver_probe(struct plat
if (retval)
return retval;