mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	kernel: update kernel 4.14 to 4.14.32
The following patches are now included upstream: * 0052-MIPS-lantiq-fix-usb-clocks.patch * 0053-MIPS-lantiq-enable-AHB-Bus-for-USB.patch * 0060-lantiq-ase-enable-MFD-SYSCON.patch Closes: FS#1466 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Stijn Segers <foss@volatilesystems.org> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
		
							parent
							
								
									9aaa23ec8b
								
							
						
					
					
						commit
						a74fd570a2
					
				@ -5,12 +5,12 @@ LINUX_RELEASE?=1
 | 
			
		||||
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)))))))
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 | 
			
		||||
--- 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
 | 
			
		||||
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	@$(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
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,7 @@
 | 
			
		||||
 
 | 
			
		||||
--- 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;
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 | 
			
		||||
 | 
			
		||||
--- 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)
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	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);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@ -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)
 | 
			
		||||
@@ -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;
 | 
			
		||||
 
 | 
			
		||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	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);
 | 
			
		||||
 
 | 
			
		||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
			
		||||
 	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;
 | 
			
		||||
 | 
			
		||||
@ -85,7 +85,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 | 
			
		||||
  * @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);
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 | 
			
		||||
 | 
			
		||||
--- 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;
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
			
		||||
 /**
 | 
			
		||||
  *	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;
 | 
			
		||||
 	}
 | 
			
		||||
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
			
		||||
 
 | 
			
		||||
 	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
 | 
			
		||||
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
			
		||||
 	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);
 | 
			
		||||
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
			
		||||
 		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;
 | 
			
		||||
 	}
 | 
			
		||||
 | 
			
		||||
@ -41,7 +41,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 | 
			
		||||
--- 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
 | 
			
		||||
@ -49,7 +49,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 	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
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
@ -1,25 +0,0 @@
 | 
			
		||||
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);
 | 
			
		||||
@ -1,37 +0,0 @@
 | 
			
		||||
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);
 | 
			
		||||
@ -1,24 +0,0 @@
 | 
			
		||||
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"
 | 
			
		||||
@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 | 
			
		||||
 | 
			
		||||
--- 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;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@ -69,7 +69,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 | 
			
		||||
 /*
 | 
			
		||||
  * 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) {
 | 
			
		||||
@ -78,7 +78,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 | 
			
		||||
 		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;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 | 
			
		||||
 | 
			
		||||
--- 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 |
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
 | 
			
		||||
 | 
			
		||||
--- 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", },
 | 
			
		||||
 | 
			
		||||
@ -22,19 +22,15 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
 | 
			
		||||
 {
 | 
			
		||||
 	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 (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));
 | 
			
		||||
 	if (phy == ERR_PTR(-ENODEV)) {
 | 
			
		||||
 		dev_info(sfp->dev, "no PHY detected\n");
 | 
			
		||||
-		return;
 | 
			
		||||
-	}
 | 
			
		||||
-	if (!phy) {
 | 
			
		||||
-		dev_info(sfp->dev, "no PHY detected\n");
 | 
			
		||||
+		return -EAGAIN;
 | 
			
		||||
 	}
 | 
			
		||||
 	if (IS_ERR(phy)) {
 | 
			
		||||
 		dev_err(sfp->dev, "mdiobus scan returned %ld\n", PTR_ERR(phy));
 | 
			
		||||
-		return;
 | 
			
		||||
+		return PTR_ERR(phy);
 | 
			
		||||
 	}
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 | 
			
		||||
--- 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;
 | 
			
		||||
@ -23,7 +23,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 			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;
 | 
			
		||||
@ -35,7 +35,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 		}
 | 
			
		||||
 
 | 
			
		||||
 		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;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user