LINUX_VERSION-3.18 = .71
LINUX_VERSION-4.4 = .121
LINUX_VERSION-4.9 = .91
-LINUX_VERSION-4.14 = .29
+LINUX_VERSION-4.14 = .32
LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
LINUX_KERNEL_HASH-4.4.121 = 44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
LINUX_KERNEL_HASH-4.9.91 = 60caa752ec9fa1c426f6a2f37db3f268d0961b67a723b6443949112167b39832
-LINUX_KERNEL_HASH-4.14.29 = 18f67b70ce9922c7ef95791bfd91f46e52ee9eb3e310978bb6ef6d2e93c14619
+LINUX_KERNEL_HASH-4.14.32 = cb0979bec663089a43b10cfbeae0cf9673544b0ff5968c33ede614ec0f43b680
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
--- a/Makefile
+++ b/Makefile
-@@ -1224,7 +1224,6 @@ all: modules
+@@ -1233,7 +1233,6 @@ all: modules
PHONY += modules
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
@$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
-@@ -1253,7 +1252,6 @@ _modinst_:
+@@ -1262,7 +1261,6 @@ _modinst_:
rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \
fi
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -1451,6 +1451,9 @@ int genphy_update_link(struct phy_device
+@@ -1458,6 +1458,9 @@ int genphy_update_link(struct phy_device
{
int status;
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -6156,7 +6156,7 @@ static void __ref alloc_node_mem_map(str
+@@ -6147,7 +6147,7 @@ static void __ref alloc_node_mem_map(str
mem_map = NODE_DATA(0)->node_mem_map;
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4775,6 +4775,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4783,6 +4783,9 @@ static enum gro_result dev_gro_receive(s
enum gro_result ret;
int grow;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -6245,6 +6248,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -6253,6 +6256,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)
-@@ -6283,6 +6328,7 @@ static int __netdev_upper_dev_link(struc
+@@ -6291,6 +6336,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -6360,6 +6406,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -6368,6 +6414,7 @@ void netdev_upper_dev_unlink(struct net_
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
}
-@@ -6930,6 +6977,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6938,6 +6985,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
* @phydev: the phy_device struct
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -906,6 +906,7 @@ void phy_ethtool_ksettings_get(struct ph
+@@ -905,6 +905,7 @@ void phy_ethtool_ksettings_get(struct ph
struct ethtool_link_ksettings *cmd);
int phy_ethtool_ksettings_set(struct phy_device *phydev,
const struct ethtool_link_ksettings *cmd);
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -1095,6 +1095,9 @@ void phy_detach(struct phy_device *phyde
+@@ -1102,6 +1102,9 @@ void phy_detach(struct phy_device *phyde
struct module *ndev_owner = dev->dev.parent->driver->owner;
struct mii_bus *bus;
/**
* ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile
-@@ -5090,6 +5103,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -5111,6 +5124,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0)
return NULL;
}
qc = __ata_qc_from_tag(ap, tag);
qc->tag = tag;
-@@ -5992,6 +6008,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -6012,6 +6028,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1;
#endif
ata_sff_port_init(ap);
return ap;
-@@ -6013,6 +6032,12 @@ static void ata_host_release(struct devi
+@@ -6033,6 +6052,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link);
kfree(ap->slave_link);
kfree(ap);
host->ports[i] = NULL;
}
-@@ -6459,7 +6484,23 @@ int ata_host_register(struct ata_host *h
+@@ -6479,7 +6504,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1;
}
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
-@@ -18,6 +18,7 @@ config SOC_XWAY
+@@ -20,6 +20,7 @@ config SOC_XWAY
bool "XWAY"
select SOC_TYPE_XWAY
select HW_HAS_PCI
select MFD_SYSCON
select MFD_CORE
-@@ -50,6 +51,15 @@ config PCI_LANTIQ
+@@ -52,6 +53,15 @@ config PCI_LANTIQ
bool "PCI Support"
depends on SOC_XWAY && PCI
+++ /dev/null
-From 11e84fdfad0331555ca889c4ac6a9d5f37ae83df Mon Sep 17 00:00:00 2001
-From: Mathias Kresin <dev@kresin.me>
-Date: Sat, 20 Jan 2018 14:38:40 +0100
-Subject: [PATCH] MIPS: lantiq: fix danube usb clock
-
-On danube the USB0 registers are at 1e101000 similar to all other lantiq
-SoCs.
-
-Fixes: dea54fbad332 ("phy: Add an USB PHY driver for the Lantiq SoCs using the RCU module")
-Signed-off-by: Mathias Kresin <dev@kresin.me>
----
- arch/mips/lantiq/xway/sysctrl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/mips/lantiq/xway/sysctrl.c
-+++ b/arch/mips/lantiq/xway/sysctrl.c
-@@ -581,7 +581,7 @@ void __init ltq_soc_init(void)
- } else {
- clkdev_add_static(ltq_danube_cpu_hz(), ltq_danube_fpi_hz(),
- ltq_danube_fpi_hz(), ltq_danube_pp32_hz());
-- clkdev_add_pmu("1f203018.usb2-phy", "ctrl", 1, 0, PMU_USB0);
-+ clkdev_add_pmu("1e101000.usb", "otg", 1, 0, PMU_USB0);
- clkdev_add_pmu("1f203018.usb2-phy", "phy", 1, 0, PMU_USB0_P);
- clkdev_add_pmu("1e103000.sdio", NULL, 1, 0, PMU_SDIO);
- clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
+++ /dev/null
-From 2f57c45efb9acb5eea2d8af211ab87b3ccfbf584 Mon Sep 17 00:00:00 2001
-From: Mathias Kresin <dev@kresin.me>
-Date: Sat, 20 Jan 2018 14:38:40 +0100
-Subject: [PATCH] MIPS: lantiq: enable AHB Bus for USB
-
-On Danube and AR9 the USB core is connected to the AHB bus, hence we need
-to enable the AHB Bus as well.
-
-Fixes: dea54fbad332 ("phy: Add an USB PHY driver for the Lantiq SoCs using the RCU module")
-Signed-off-by: Mathias Kresin <dev@kresin.me>
----
- arch/mips/lantiq/xway/sysctrl.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/arch/mips/lantiq/xway/sysctrl.c
-+++ b/arch/mips/lantiq/xway/sysctrl.c
-@@ -570,9 +570,9 @@ void __init ltq_soc_init(void)
- clkdev_add_static(ltq_ar9_cpu_hz(), ltq_ar9_fpi_hz(),
- ltq_ar9_fpi_hz(), CLOCK_250M);
- clkdev_add_pmu("1f203018.usb2-phy", "phy", 1, 0, PMU_USB0_P);
-- clkdev_add_pmu("1e101000.usb", "otg", 1, 0, PMU_USB0);
-+ clkdev_add_pmu("1e101000.usb", "otg", 1, 0, PMU_USB0 | PMU_AHBM);
- clkdev_add_pmu("1f203034.usb2-phy", "phy", 1, 0, PMU_USB1_P);
-- clkdev_add_pmu("1e106000.usb", "otg", 1, 0, PMU_USB1);
-+ clkdev_add_pmu("1e106000.usb", "otg", 1, 0, PMU_USB1 | PMU_AHBM);
- clkdev_add_pmu("1e180000.etop", "switch", 1, 0, PMU_SWITCH);
- clkdev_add_pmu("1e103000.sdio", NULL, 1, 0, PMU_SDIO);
- clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
-@@ -581,7 +581,7 @@ void __init ltq_soc_init(void)
- } else {
- clkdev_add_static(ltq_danube_cpu_hz(), ltq_danube_fpi_hz(),
- ltq_danube_fpi_hz(), ltq_danube_pp32_hz());
-- clkdev_add_pmu("1e101000.usb", "otg", 1, 0, PMU_USB0);
-+ clkdev_add_pmu("1e101000.usb", "otg", 1, 0, PMU_USB0 | PMU_AHBM);
- clkdev_add_pmu("1f203018.usb2-phy", "phy", 1, 0, PMU_USB0_P);
- clkdev_add_pmu("1e103000.sdio", NULL, 1, 0, PMU_SDIO);
- clkdev_add_pmu("1e103100.deu", NULL, 1, 0, PMU_DEU);
+++ /dev/null
-From 24af63c6cce57cf88eda7c863035208fba59ee1c Mon Sep 17 00:00:00 2001
-From: Mathias Kresin <dev@kresin.me>
-Date: Tue, 23 Jan 2018 22:14:28 +0100
-Subject: [PATCH] MIPS: lantiq: ase: Enable MFD_SYSCON
-
-Enable syscon to use it for the RCU MFD on Amazon SE as well.
-
-Fixes: 2b6639d4c794 ("MIPS: lantiq: Enable MFD_SYSCON to be able to use it for the RCU MFD")
-Signed-off-by: Mathias Kresin <dev@kresin.me>
----
- arch/mips/lantiq/Kconfig | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/mips/lantiq/Kconfig
-+++ b/arch/mips/lantiq/Kconfig
-@@ -13,6 +13,8 @@ choice
- config SOC_AMAZON_SE
- bool "Amazon SE"
- select SOC_TYPE_XWAY
-+ select MFD_SYSCON
-+ select MFD_CORE
-
- config SOC_XWAY
- bool "XWAY"
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3628,6 +3628,58 @@ set_rps_cpu(struct net_device *dev, stru
+@@ -3636,6 +3636,58 @@ set_rps_cpu(struct net_device *dev, stru
return rflow;
}
/*
* get_rps_cpu is called from netif_receive_skb and returns the target
* CPU from the RPS map of the receiving queue for a given skb.
-@@ -3717,7 +3769,7 @@ static int get_rps_cpu(struct net_device
+@@ -3725,7 +3777,7 @@ static int get_rps_cpu(struct net_device
try_rps:
if (map) {
if (cpu_online(tcpu)) {
cpu = tcpu;
goto done;
-@@ -8802,6 +8854,9 @@ static int __init net_dev_init(void)
+@@ -8810,6 +8862,9 @@ static int __init net_dev_init(void)
sd->backlog.weight = weight_p;
}
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -1922,7 +1922,7 @@ static struct phy_driver genphy_driver =
+@@ -1929,7 +1929,7 @@ static struct phy_driver genphy_driver =
.config_init = genphy_config_init,
.features = PHY_GBIT_FEATURES | SUPPORTED_MII |
SUPPORTED_AUI | SUPPORTED_FIBRE |
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
-@@ -1137,6 +1137,7 @@ static int sfp_remove(struct platform_de
+@@ -1136,6 +1136,7 @@ static int sfp_remove(struct platform_de
static const struct of_device_id sfp_of_match[] = {
{ .compatible = "sff,sfp", },
{
struct phy_device *phy;
int err;
-@@ -497,12 +497,12 @@ static void sfp_sm_probe_phy(struct sfp
-
+@@ -498,11 +498,11 @@ static void sfp_sm_probe_phy(struct sfp
phy = mdiobus_scan(sfp->i2c_mii, SFP_PHY_ADDR);
+ if (phy == ERR_PTR(-ENODEV)) {
+ dev_info(sfp->dev, "no PHY detected\n");
+- return;
++ return -EAGAIN;
+ }
if (IS_ERR(phy)) {
-+ if (PTR_ERR(phy) == -ENODEV) {
-+ dev_dbg(sfp->dev, "no PHY detected\n");
-+ return -EAGAIN;
-+ }
dev_err(sfp->dev, "mdiobus scan returned %ld\n", PTR_ERR(phy));
- return;
-- }
-- if (!phy) {
-- dev_info(sfp->dev, "no PHY detected\n");
-- return;
+ return PTR_ERR(phy);
}
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -981,7 +981,10 @@ void phy_state_machine(struct work_struc
+@@ -980,7 +980,10 @@ void phy_state_machine(struct work_struc
/* If the link is down, give up on negotiation for now */
if (!phydev->link) {
phydev->state = PHY_NOLINK;
break;
}
-@@ -1068,7 +1071,10 @@ void phy_state_machine(struct work_struc
+@@ -1067,7 +1070,10 @@ void phy_state_machine(struct work_struc
phy_link_up(phydev);
} else {
phydev->state = PHY_NOLINK;
}
if (phy_interrupt_is_valid(phydev))
-@@ -1078,7 +1084,10 @@ void phy_state_machine(struct work_struc
+@@ -1077,7 +1083,10 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;