Refreshed all patches.
Compile-tested on: ar71xx, cns3xxx, imx6, x86_64
Runtime-tested on: ar71xx, cns3xxx, imx6
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
-LINUX_VERSION-4.14 = .222
+LINUX_VERSION-4.14 = .223
-LINUX_KERNEL_HASH-4.14.222 = 734082b03d9f8e43b123b0061f08045b70c34e3a4b09f8a8da6a287686dac744
+LINUX_KERNEL_HASH-4.14.223 = 1a5a5fb32c47b6bc1edce8564f1a00127c496c76f1b9149bb30e9e152639f613
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
#ifdef CONFIG_TCP_MD5SIG
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
-@@ -6,6 +6,7 @@
+@@ -7,6 +7,7 @@
#define ipv6_optlen(p) (((p)->hdrlen+1) << 3)
#define ipv6_authlen(p) (((p)->hdrlen+2) << 2)
#ifdef CONFIG_TCP_MD5SIG
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
-@@ -6,6 +6,7 @@
+@@ -7,6 +7,7 @@
#define ipv6_optlen(p) (((p)->hdrlen+1) << 3)
#define ipv6_authlen(p) (((p)->hdrlen+2) << 2)
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
-@@ -2023,7 +2023,8 @@ static const struct usb_device_id option
+@@ -2024,7 +2024,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) },
/**
* dwc2_enable_host_interrupts() - Enables the Host mode interrupts
*
-@@ -3346,6 +3363,7 @@ static void dwc2_conn_id_status_change(s
+@@ -3347,6 +3364,7 @@ static void dwc2_conn_id_status_change(s
/* B-Device connector (Device Mode) */
if (gotgctl & GOTGCTL_CONID_B) {
/* Wait for switch to device mode */
dev_dbg(hsotg->dev, "connId B\n");
if (hsotg->bus_suspended) {
-@@ -4455,6 +4473,9 @@ static int _dwc2_hcd_start(struct usb_hc
+@@ -4456,6 +4474,9 @@ static int _dwc2_hcd_start(struct usb_hc
}
spin_unlock_irqrestore(&hsotg->lock, flags);
return 0;
}
-@@ -4482,6 +4503,8 @@ static void _dwc2_hcd_stop(struct usb_hc
+@@ -4483,6 +4504,8 @@ static void _dwc2_hcd_stop(struct usb_hc
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
spin_unlock_irqrestore(&hsotg->lock, flags);
usleep_range(1000, 3000);
}
-@@ -4518,6 +4541,7 @@ static int _dwc2_hcd_suspend(struct usb_
+@@ -4519,6 +4542,7 @@ static int _dwc2_hcd_suspend(struct usb_
hprt0 |= HPRT0_SUSP;
hprt0 &= ~HPRT0_PWR;
dwc2_writel(hprt0, hsotg->regs + HPRT0);
}
/* Enter hibernation */
-@@ -4598,6 +4622,8 @@ static int _dwc2_hcd_resume(struct usb_h
+@@ -4599,6 +4623,8 @@ static int _dwc2_hcd_resume(struct usb_h
spin_unlock_irqrestore(&hsotg->lock, flags);
dwc2_port_resume(hsotg);
} else {
return regulator_enable(hsotg->vbus_supply);
}
-@@ -4474,9 +4479,7 @@ static int _dwc2_hcd_start(struct usb_hc
+@@ -4475,9 +4480,7 @@ static int _dwc2_hcd_start(struct usb_hc
spin_unlock_irqrestore(&hsotg->lock, flags);
config MODULES_TREE_LOOKUP
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -3022,9 +3022,11 @@ static struct module *setup_load_info(st
+@@ -3039,9 +3039,11 @@ static struct module *setup_load_info(st
static int check_modinfo(struct module *mod, struct load_info *info, int flags)
{
if (flags & MODULE_INIT_IGNORE_VERMAGIC)
modmagic = NULL;
-@@ -3045,6 +3047,7 @@ static int check_modinfo(struct module *
+@@ -3062,6 +3064,7 @@ static int check_modinfo(struct module *
mod->name);
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
}
__stop___dbe_table = .;
}
-@@ -123,7 +123,7 @@ SECTIONS
+@@ -124,7 +124,7 @@ SECTIONS
. = ALIGN(4);
.mips.machines.init : AT(ADDR(.mips.machines.init) - LOAD_OFFSET) {
__mips_machines_start = .;
} \
\
/* __*init sections */ \
-@@ -799,6 +809,8 @@
+@@ -804,6 +814,8 @@
EXIT_TEXT \
EXIT_DATA \
EXIT_CALL \
--- a/drivers/usb/dwc2/hcd.c
+++ b/drivers/usb/dwc2/hcd.c
-@@ -2669,6 +2669,7 @@ static int dwc2_alloc_split_dma_aligned_
+@@ -2670,6 +2670,7 @@ static int dwc2_alloc_split_dma_aligned_
static void dwc2_free_dma_aligned_buffer(struct urb *urb)
{
void *stored_xfer_buffer;
if (!(urb->transfer_flags & URB_ALIGNED_TEMP_BUFFER))
return;
-@@ -2679,9 +2680,14 @@ static void dwc2_free_dma_aligned_buffer
+@@ -2680,9 +2681,14 @@ static void dwc2_free_dma_aligned_buffer
dma_get_cache_alignment()),
sizeof(urb->transfer_buffer));
reg &= ~DWC3_DCTL_INITU2ENA;
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
-@@ -3216,6 +3216,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3231,6 +3231,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
{
int ret;
int irq;
irq = dwc3_gadget_get_irq(dwc);
if (irq < 0) {
-@@ -3294,6 +3295,12 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3309,6 +3310,12 @@ int dwc3_gadget_init(struct dwc3 *dwc)
dwc3_gadget_set_speed(&dwc->gadget, dwc->maximum_speed);
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
-@@ -1716,6 +1716,16 @@ config RTC_DRV_MT6397
+@@ -1717,6 +1717,16 @@ config RTC_DRV_MT6397
If you want to use Mediatek(R) RTC interface, select Y or M here.
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
-@@ -1707,14 +1707,14 @@ config RTC_DRV_MOXART
+@@ -1708,14 +1708,14 @@ config RTC_DRV_MOXART
will be called rtc-moxart
config RTC_DRV_MT6397
---
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -3960,6 +3960,15 @@ static int mvneta_ethtool_set_wol(struct
+@@ -3967,6 +3967,15 @@ static int mvneta_ethtool_set_wol(struct
return ret;
}
static const struct net_device_ops mvneta_netdev_ops = {
.ndo_open = mvneta_open,
.ndo_stop = mvneta_stop,
-@@ -3970,6 +3979,7 @@ static const struct net_device_ops mvnet
+@@ -3977,6 +3986,7 @@ static const struct net_device_ops mvnet
.ndo_fix_features = mvneta_fix_features,
.ndo_get_stats64 = mvneta_get_stats64,
.ndo_do_ioctl = mvneta_ioctl,
}
/* Release Tx descriptors */
-@@ -3060,7 +3019,6 @@ static int mvneta_setup_txqs(struct mvne
+@@ -3062,7 +3021,6 @@ static int mvneta_setup_txqs(struct mvne
static void mvneta_start_dev(struct mvneta_port *pp)
{
int cpu;
mvneta_max_rx_size_set(pp, pp->pkt_size);
mvneta_txq_max_tx_size_set(pp, pp->pkt_size);
-@@ -3088,16 +3046,15 @@ static void mvneta_start_dev(struct mvne
+@@ -3090,16 +3048,15 @@ static void mvneta_start_dev(struct mvne
MVNETA_CAUSE_LINK_CHANGE |
MVNETA_CAUSE_PSC_SYNC_CHANGE);
if (!pp->neta_armada3700) {
for_each_online_cpu(cpu) {
-@@ -3250,103 +3207,232 @@ static int mvneta_set_mac_addr(struct ne
+@@ -3252,103 +3209,232 @@ static int mvneta_set_mac_addr(struct ne
return 0;
}
}
/* Electing a CPU must be done in an atomic way: it should be done
-@@ -3625,10 +3711,9 @@ static int mvneta_stop(struct net_device
+@@ -3632,10 +3718,9 @@ static int mvneta_stop(struct net_device
static int mvneta_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
}
/* Ethtool methods */
-@@ -3639,44 +3724,25 @@ mvneta_ethtool_set_link_ksettings(struct
+@@ -3646,44 +3731,25 @@ mvneta_ethtool_set_link_ksettings(struct
const struct ethtool_link_ksettings *cmd)
{
struct mvneta_port *pp = netdev_priv(ndev);
}
/* Set interrupt coalescing for ethtools */
-@@ -3768,6 +3834,22 @@ static int mvneta_ethtool_set_ringparam(
+@@ -3775,6 +3841,22 @@ static int mvneta_ethtool_set_ringparam(
return 0;
}
static void mvneta_ethtool_get_strings(struct net_device *netdev, u32 sset,
u8 *data)
{
-@@ -3784,26 +3866,35 @@ static void mvneta_ethtool_update_stats(
+@@ -3791,26 +3873,35 @@ static void mvneta_ethtool_update_stats(
{
const struct mvneta_statistic *s;
void __iomem *base = pp->base;
}
}
-@@ -3938,28 +4029,65 @@ static int mvneta_ethtool_get_rxfh(struc
+@@ -3945,28 +4036,65 @@ static int mvneta_ethtool_get_rxfh(struc
static void mvneta_ethtool_get_wol(struct net_device *dev,
struct ethtool_wolinfo *wol)
{
static u16 mvneta_select_queue(struct net_device *dev, struct sk_buff *skb,
void *accel_priv,
select_queue_fallback_t fallback)
-@@ -3983,13 +4111,15 @@ static const struct net_device_ops mvnet
+@@ -3990,13 +4118,15 @@ static const struct net_device_ops mvnet
};
static const struct ethtool_ops mvneta_eth_tool_ops = {
.get_strings = mvneta_ethtool_get_strings,
.get_ethtool_stats = mvneta_ethtool_get_stats,
.get_sset_count = mvneta_ethtool_get_sset_count,
-@@ -3997,10 +4127,12 @@ static const struct ethtool_ops mvneta_e
+@@ -4004,10 +4134,12 @@ static const struct ethtool_ops mvneta_e
.get_rxnfc = mvneta_ethtool_get_rxnfc,
.get_rxfh = mvneta_ethtool_get_rxfh,
.set_rxfh = mvneta_ethtool_set_rxfh,
};
/* Initialize hw */
-@@ -4145,14 +4277,13 @@ static int mvneta_probe(struct platform_
+@@ -4152,14 +4284,13 @@ static int mvneta_probe(struct platform_
{
struct resource *res;
struct device_node *dn = pdev->dev.of_node;
int tx_csum_limit;
int phy_mode;
int err;
-@@ -4168,31 +4299,11 @@ static int mvneta_probe(struct platform_
+@@ -4175,31 +4306,11 @@ static int mvneta_probe(struct platform_
goto err_free_netdev;
}
}
dev->tx_queue_len = MVNETA_MAX_TXD;
-@@ -4203,12 +4314,7 @@ static int mvneta_probe(struct platform_
+@@ -4210,12 +4321,7 @@ static int mvneta_probe(struct platform_
pp = netdev_priv(dev);
spin_lock_init(&pp->lock);
pp->rxq_def = rxq_def;
-@@ -4230,7 +4336,7 @@ static int mvneta_probe(struct platform_
+@@ -4237,7 +4343,7 @@ static int mvneta_probe(struct platform_
pp->clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(pp->clk)) {
err = PTR_ERR(pp->clk);
}
clk_prepare_enable(pp->clk);
-@@ -4356,6 +4462,14 @@ static int mvneta_probe(struct platform_
+@@ -4363,6 +4469,14 @@ static int mvneta_probe(struct platform_
/* 9676 == 9700 - 20 and rounding to 8 */
dev->max_mtu = 9676;
err = register_netdev(dev);
if (err < 0) {
dev_err(&pdev->dev, "failed to register\n");
-@@ -4367,14 +4481,6 @@ static int mvneta_probe(struct platform_
+@@ -4374,14 +4488,6 @@ static int mvneta_probe(struct platform_
platform_set_drvdata(pdev, pp->dev);
return 0;
err_netdev:
-@@ -4383,16 +4489,14 @@ err_netdev:
+@@ -4390,16 +4496,14 @@ err_netdev:
mvneta_bm_pool_destroy(pp->bm_priv, pp->pool_short,
1 << pp->id);
}
err_free_irq:
irq_dispose_mapping(dev->irq);
err_free_netdev:
-@@ -4404,7 +4508,6 @@ err_free_netdev:
+@@ -4411,7 +4515,6 @@ err_free_netdev:
static int mvneta_remove(struct platform_device *pdev)
{
struct net_device *dev = platform_get_drvdata(pdev);
struct mvneta_port *pp = netdev_priv(dev);
unregister_netdev(dev);
-@@ -4412,10 +4515,8 @@ static int mvneta_remove(struct platform
+@@ -4419,10 +4522,8 @@ static int mvneta_remove(struct platform
clk_disable_unprepare(pp->clk);
free_percpu(pp->ports);
free_percpu(pp->stats);
free_netdev(dev);
if (pp->bm_priv) {
-@@ -4467,9 +4568,6 @@ static int mvneta_resume(struct device *
+@@ -4474,9 +4575,6 @@ static int mvneta_resume(struct device *
return err;
}
struct device_node *dn;
unsigned int tx_csum_limit;
struct phylink *phylink;
-@@ -4314,6 +4315,7 @@ static int mvneta_probe(struct platform_
+@@ -4321,6 +4322,7 @@ static int mvneta_probe(struct platform_
pp = netdev_priv(dev);
spin_lock_init(&pp->lock);
mvneta_link_change(pp);
}
-@@ -3044,8 +3043,7 @@ static void mvneta_start_dev(struct mvne
+@@ -3046,8 +3045,7 @@ static void mvneta_start_dev(struct mvne
mvreg_write(pp, MVNETA_INTR_MISC_MASK,
MVNETA_CAUSE_PHY_STATUS_CHANGE |
phylink_start(pp->phylink);
netif_tx_start_all_queues(pp->dev);
-@@ -3541,8 +3539,7 @@ static int mvneta_cpu_online(unsigned in
+@@ -3548,8 +3546,7 @@ static int mvneta_cpu_online(unsigned in
on_each_cpu(mvneta_percpu_unmask_interrupt, pp, true);
mvreg_write(pp, MVNETA_INTR_MISC_MASK,
MVNETA_CAUSE_PHY_STATUS_CHANGE |
netif_tx_start_all_queues(pp->dev);
spin_unlock(&pp->lock);
return 0;
-@@ -3583,8 +3580,7 @@ static int mvneta_cpu_dead(unsigned int
+@@ -3590,8 +3587,7 @@ static int mvneta_cpu_dead(unsigned int
on_each_cpu(mvneta_percpu_unmask_interrupt, pp, true);
mvreg_write(pp, MVNETA_INTR_MISC_MASK,
MVNETA_CAUSE_PHY_STATUS_CHANGE |
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -4044,6 +4044,22 @@ static int mvneta_ethtool_set_wol(struct
+@@ -4051,6 +4051,22 @@ static int mvneta_ethtool_set_wol(struct
return ret;
}
static int mvneta_ethtool_get_eee(struct net_device *dev,
struct ethtool_eee *eee)
{
-@@ -4128,6 +4144,8 @@ static const struct ethtool_ops mvneta_e
+@@ -4135,6 +4151,8 @@ static const struct ethtool_ops mvneta_e
.set_link_ksettings = mvneta_ethtool_set_link_ksettings,
.get_wol = mvneta_ethtool_get_wol,
.set_wol = mvneta_ethtool_set_wol,
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -4044,22 +4044,6 @@ static int mvneta_ethtool_set_wol(struct
+@@ -4051,22 +4051,6 @@ static int mvneta_ethtool_set_wol(struct
return ret;
}
static int mvneta_ethtool_get_eee(struct net_device *dev,
struct ethtool_eee *eee)
{
-@@ -4144,8 +4128,6 @@ static const struct ethtool_ops mvneta_e
+@@ -4151,8 +4135,6 @@ static const struct ethtool_ops mvneta_e
.set_link_ksettings = mvneta_ethtool_set_link_ksettings,
.get_wol = mvneta_ethtool_get_wol,
.set_wol = mvneta_ethtool_set_wol,