From: Koen Vandeputte Date: Mon, 26 Jun 2017 09:22:11 +0000 (+0200) Subject: kernel: update kernel 4.9 to 4.9.34 X-Git-Tag: v18.06.0-rc1~2626 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=69649a1b45ee0ab7ab3de350dc75f89d867c174c;p=openwrt%2Fstaging%2Fchunkeey.git kernel: update kernel 4.9 to 4.9.34 - Refreshed all patches - Adapted 1 (0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch) Compile tested on: brcm2708, cns3xxx, imx6 Run tested on: brcm2708, cns3xxx, imx6 Signed-off-by: Koen Vandeputte [Compile and run tested on brcm2708] Signed-off-by: Stijn Tintel --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index bbb2b1e47b..fd6b5280ab 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -4,11 +4,11 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .43 LINUX_VERSION-4.4 = .71 -LINUX_VERSION-4.9 = .31 +LINUX_VERSION-4.9 = .34 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c LINUX_KERNEL_HASH-4.4.71 = 44cd5532d6df32197fd0f89e6f8c542fcfb76b52155a4d3a609ef4898522e6ab -LINUX_KERNEL_HASH-4.9.31 = 28cad8b66216da2550155b7a77f37041bde40b821567d1b288e5e9fb6cca9856 +LINUX_KERNEL_HASH-4.9.34 = 13d159d1b1fa41ea19fcc2defe09d7532f312ee0b8279b8e12c961d8b02a4546 ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/apm821xx/patches-4.9/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-4.9/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch index 91c5c1ff10..39c0db3b73 100644 --- a/target/linux/apm821xx/patches-4.9/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch +++ b/target/linux/apm821xx/patches-4.9/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch @@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter #include "xhci.h" #include "xhci-trace.h" -@@ -227,6 +229,458 @@ static void xhci_pme_acpi_rtd3_enable(st +@@ -230,6 +232,458 @@ static void xhci_pme_acpi_rtd3_enable(st static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { } #endif /* CONFIG_ACPI */ @@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter /* called during probe() after chip reset completes */ static int xhci_pci_setup(struct usb_hcd *hcd) { -@@ -266,6 +720,22 @@ static int xhci_pci_probe(struct pci_dev +@@ -269,6 +723,22 @@ static int xhci_pci_probe(struct pci_dev struct hc_driver *driver; struct usb_hcd *hcd; @@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter driver = (struct hc_driver *)id->driver_data; /* Prevent runtime suspending between USB-2 and USB-3 initialization */ -@@ -323,6 +793,16 @@ static void xhci_pci_remove(struct pci_d +@@ -326,6 +796,16 @@ static void xhci_pci_remove(struct pci_d { struct xhci_hcd *xhci; diff --git a/target/linux/bcm53xx/patches-4.9/700-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch b/target/linux/bcm53xx/patches-4.9/700-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch index 2ee9cd4876..bafa4e4b1d 100644 --- a/target/linux/bcm53xx/patches-4.9/700-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch +++ b/target/linux/bcm53xx/patches-4.9/700-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch @@ -13,16 +13,16 @@ Signed-off-by: Rafał Miłecki --- a/drivers/net/phy/b53/b53_common.c +++ b/drivers/net/phy/b53/b53_common.c -@@ -25,6 +25,7 @@ - #include - #include +@@ -27,6 +27,7 @@ + #include + #include #include +#include #include "b53_regs.h" #include "b53_priv.h" -@@ -1383,6 +1384,28 @@ static int b53_switch_init(struct b53_de - sw_dev->cpu_port = 5; +@@ -1522,6 +1523,28 @@ static int b53_switch_init(struct b53_de + return ret; } + /* Set correct CPU port */ diff --git a/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch index 3b17e9711d..6f7af04343 100644 --- a/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch +++ b/target/linux/brcm2708/patches-4.9/950-0031-Add-dwc_otg-driver.patch @@ -696,7 +696,7 @@ Signed-off-by: Noralf Trønnes } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5034,7 +5034,7 @@ static void port_event(struct usb_hub *h +@@ -5040,7 +5040,7 @@ static void port_event(struct usb_hub *h if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; diff --git a/target/linux/brcm2708/patches-4.9/950-0060-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch b/target/linux/brcm2708/patches-4.9/950-0060-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch index e17a84d4f0..48c9b7b590 100644 --- a/target/linux/brcm2708/patches-4.9/950-0060-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch +++ b/target/linux/brcm2708/patches-4.9/950-0060-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch @@ -10,7 +10,7 @@ Subject: [PATCH] config: Enable CONFIG_MEMCG, but leave it disabled (due to --- a/kernel/cgroup.c +++ b/kernel/cgroup.c -@@ -5627,7 +5627,7 @@ int __init cgroup_init_early(void) +@@ -5632,7 +5632,7 @@ int __init cgroup_init_early(void) return 0; } @@ -19,7 +19,7 @@ Subject: [PATCH] config: Enable CONFIG_MEMCG, but leave it disabled (due to /** * cgroup_init - cgroup initialization -@@ -6164,6 +6164,28 @@ static int __init cgroup_no_v1(char *str +@@ -6169,6 +6169,28 @@ static int __init cgroup_no_v1(char *str } __setup("cgroup_no_v1=", cgroup_no_v1); diff --git a/target/linux/brcm2708/patches-4.9/950-0181-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-.patch b/target/linux/brcm2708/patches-4.9/950-0181-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-.patch index 000f3a8df3..3fed370bee 100644 --- a/target/linux/brcm2708/patches-4.9/950-0181-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-.patch +++ b/target/linux/brcm2708/patches-4.9/950-0181-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-.patch @@ -17,7 +17,7 @@ Fixes: c826a6e10644 ("drm/vc4: Add a BO cache.") --- a/drivers/gpu/drm/vc4/vc4_bo.c +++ b/drivers/gpu/drm/vc4/vc4_bo.c -@@ -314,6 +314,14 @@ void vc4_free_object(struct drm_gem_obje +@@ -322,6 +322,14 @@ void vc4_free_object(struct drm_gem_obje goto out; } diff --git a/target/linux/cns3xxx/patches-4.9/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch b/target/linux/cns3xxx/patches-4.9/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch index aae4488f6e..3e28b7e3cd 100644 --- a/target/linux/cns3xxx/patches-4.9/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch +++ b/target/linux/cns3xxx/patches-4.9/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch @@ -12,7 +12,7 @@ /* For Max performance, the MRRS must be set to the largest supported --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -778,7 +778,7 @@ enum pcie_bus_config_types { +@@ -783,7 +783,7 @@ enum pcie_bus_config_types { PCIE_BUS_DEFAULT, /* ensure MPS matches upstream bridge */ PCIE_BUS_SAFE, /* use largest MPS boot-time devices support */ PCIE_BUS_PERFORMANCE, /* use MPS and MRRS for best performance */ diff --git a/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 99d029ce68..4a81e751dd 100644 --- a/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau return 0; --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1748,6 +1748,8 @@ struct net_device { +@@ -1749,6 +1749,8 @@ struct net_device { struct netdev_hw_addr_list mc; struct netdev_hw_addr_list dev_addrs; diff --git a/target/linux/generic/patches-4.9/702-phy_add_aneg_done_function.patch b/target/linux/generic/patches-4.9/702-phy_add_aneg_done_function.patch index d38212da7b..5f71be60b8 100644 --- a/target/linux/generic/patches-4.9/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/patches-4.9/702-phy_add_aneg_done_function.patch @@ -15,7 +15,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1247,6 +1247,9 @@ int genphy_update_link(struct phy_device +@@ -1267,6 +1267,9 @@ int genphy_update_link(struct phy_device { int status; diff --git a/target/linux/generic/patches-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/patches-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch index c9e9b695ea..68b60ac4a8 100644 --- a/target/linux/generic/patches-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/patches-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -983,6 +983,9 @@ void phy_detach(struct phy_device *phyde +@@ -1001,6 +1001,9 @@ void phy_detach(struct phy_device *phyde struct mii_bus *bus; int i; diff --git a/target/linux/generic/patches-4.9/704-phy-no-genphy-soft-reset.patch b/target/linux/generic/patches-4.9/704-phy-no-genphy-soft-reset.patch index 8ea34e28e3..6672bbe8a2 100644 --- a/target/linux/generic/patches-4.9/704-phy-no-genphy-soft-reset.patch +++ b/target/linux/generic/patches-4.9/704-phy-no-genphy-soft-reset.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1465,7 +1465,7 @@ int genphy_config_init(struct phy_device +@@ -1485,7 +1485,7 @@ int genphy_config_init(struct phy_device return 0; } @@ -9,7 +9,7 @@ { /* Do nothing for now */ return 0; -@@ -1704,7 +1704,7 @@ static struct phy_driver genphy_driver[] +@@ -1724,7 +1724,7 @@ static struct phy_driver genphy_driver[] .phy_id = 0xffffffff, .phy_id_mask = 0xffffffff, .name = "Generic PHY", @@ -18,7 +18,7 @@ .config_init = genphy_config_init, .features = PHY_GBIT_FEATURES | SUPPORTED_MII | SUPPORTED_AUI | SUPPORTED_FIBRE | -@@ -1718,7 +1718,7 @@ static struct phy_driver genphy_driver[] +@@ -1738,7 +1738,7 @@ static struct phy_driver genphy_driver[] .phy_id = 0xffffffff, .phy_id_mask = 0xffffffff, .name = "Generic 10G PHY", diff --git a/target/linux/generic/patches-4.9/721-phy_packets.patch b/target/linux/generic/patches-4.9/721-phy_packets.patch index 5b4ff07d99..717aba8ffb 100644 --- a/target/linux/generic/patches-4.9/721-phy_packets.patch +++ b/target/linux/generic/patches-4.9/721-phy_packets.patch @@ -1,6 +1,6 @@ --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1397,6 +1397,7 @@ enum netdev_priv_flags { +@@ -1398,6 +1398,7 @@ enum netdev_priv_flags { IFF_RXFH_CONFIGURED = 1<<25, IFF_PHONY_HEADROOM = 1<<26, IFF_MACSEC = 1<<27, @@ -8,7 +8,7 @@ }; #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN -@@ -1426,6 +1427,7 @@ enum netdev_priv_flags { +@@ -1427,6 +1428,7 @@ enum netdev_priv_flags { #define IFF_TEAM IFF_TEAM #define IFF_RXFH_CONFIGURED IFF_RXFH_CONFIGURED #define IFF_MACSEC IFF_MACSEC @@ -16,7 +16,7 @@ /** * struct net_device - The DEVICE structure. -@@ -1712,6 +1714,11 @@ struct net_device { +@@ -1713,6 +1715,11 @@ struct net_device { const struct ndisc_ops *ndisc_ops; #endif @@ -28,7 +28,7 @@ const struct header_ops *header_ops; unsigned int flags; -@@ -1779,6 +1786,10 @@ struct net_device { +@@ -1780,6 +1787,10 @@ struct net_device { struct mpls_dev __rcu *mpls_ptr; #endif diff --git a/target/linux/generic/patches-4.9/930-crashlog.patch b/target/linux/generic/patches-4.9/930-crashlog.patch index a2e2180706..e904138435 100644 --- a/target/linux/generic/patches-4.9/930-crashlog.patch +++ b/target/linux/generic/patches-4.9/930-crashlog.patch @@ -33,7 +33,7 @@ depends on BROKEN || !FRV --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -112,6 +112,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o +@@ -113,6 +113,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o obj-$(CONFIG_MEMBARRIER) += membarrier.o obj-$(CONFIG_HAS_IOMEM) += memremap.o diff --git a/target/linux/ipq806x/patches-4.9/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch b/target/linux/ipq806x/patches-4.9/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch index d956a3b069..ad0b09b115 100644 --- a/target/linux/ipq806x/patches-4.9/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch +++ b/target/linux/ipq806x/patches-4.9/0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch @@ -18,7 +18,7 @@ Signed-off-by: Ram Chandra Jangir --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -190,6 +190,13 @@ config MTD_MYLOADER_PARTS +@@ -194,6 +194,13 @@ config MTD_MYLOADER_PARTS You will still need the parsing functions to be called by the driver for your particular device. It won't happen automatically. @@ -270,6 +270,6 @@ Signed-off-by: Ram Chandra Jangir obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o +obj-$(CONFIG_MTD_QCOM_SMEM_PARTS) += qcom_smem_part.o + obj-y += parsers/ # 'Users' - code which presents functionality to userspace. - obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o diff --git a/target/linux/ipq806x/patches-4.9/605-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch b/target/linux/ipq806x/patches-4.9/605-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch index e7ff12142a..d2721875a2 100644 --- a/target/linux/ipq806x/patches-4.9/605-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch +++ b/target/linux/ipq806x/patches-4.9/605-net-IPQ4019-needs-rfs-vlan_tag-callbacks-in.patch @@ -41,7 +41,7 @@ Reviewed-by: Grant Grundler /* * This structure holds all XPS maps for device. Maps are indexed by CPU. */ -@@ -1250,6 +1260,9 @@ struct net_device_ops { +@@ -1251,6 +1261,9 @@ struct net_device_ops { const struct sk_buff *skb, u16 rxq_index, u32 flow_id); diff --git a/target/linux/lantiq/patches-4.9/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-4.9/0001-MIPS-lantiq-add-pcie-driver.patch index 59d29d838b..59f3b1ae9f 100644 --- a/target/linux/lantiq/patches-4.9/0001-MIPS-lantiq-add-pcie-driver.patch +++ b/target/linux/lantiq/patches-4.9/0001-MIPS-lantiq-add-pcie-driver.patch @@ -5494,7 +5494,7 @@ Signed-off-by: John Crispin (transaction layer end-to-end CRC checking). --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -1245,6 +1245,8 @@ void pci_walk_bus(struct pci_bus *top, i +@@ -1250,6 +1250,8 @@ void pci_walk_bus(struct pci_bus *top, i void *userdata); int pci_cfg_space_size(struct pci_dev *dev); unsigned char pci_bus_max_busnr(struct pci_bus *bus); diff --git a/target/linux/lantiq/patches-4.9/0101-find_active_root.patch b/target/linux/lantiq/patches-4.9/0101-find_active_root.patch index 2faec3478b..7232ffa416 100644 --- a/target/linux/lantiq/patches-4.9/0101-find_active_root.patch +++ b/target/linux/lantiq/patches-4.9/0101-find_active_root.patch @@ -60,7 +60,7 @@ return -ENOMEM; i = 0; -@@ -120,12 +155,22 @@ static int parse_ofpart_partitions(struc +@@ -121,12 +156,22 @@ static int parse_ofpart_partitions(struc if (of_get_property(pp, "lock", &len)) parts[i].mask_flags |= MTD_POWERUP_LOCK; @@ -83,7 +83,7 @@ *pparts = parts; return nr_parts; -@@ -136,6 +181,7 @@ ofpart_fail: +@@ -137,6 +182,7 @@ ofpart_fail: ofpart_none: of_node_put(pp); kfree(parts); diff --git a/target/linux/mvebu/patches-4.9/100-find_active_root.patch b/target/linux/mvebu/patches-4.9/100-find_active_root.patch index b8e8c92aab..d6006b7444 100644 --- a/target/linux/mvebu/patches-4.9/100-find_active_root.patch +++ b/target/linux/mvebu/patches-4.9/100-find_active_root.patch @@ -22,9 +22,9 @@ Signed-off-by: Imre Kaloz struct device_node *pp; int nr_parts, i, ret = 0; bool dedicated = true; -@@ -109,9 +112,13 @@ static int parse_ofpart_partitions(struc - parts[i].offset = of_read_number(reg, a_cells); +@@ -110,9 +113,13 @@ static int parse_ofpart_partitions(struc parts[i].size = of_read_number(reg + a_cells, s_cells); + parts[i].of_node = pp; - partname = of_get_property(pp, "label", &len); - if (!partname) @@ -39,7 +39,7 @@ Signed-off-by: Imre Kaloz parts[i].name = partname; if (of_get_property(pp, "read-only", &len)) -@@ -212,6 +219,18 @@ static int __init ofpart_parser_init(voi +@@ -213,6 +220,18 @@ static int __init ofpart_parser_init(voi return 0; } diff --git a/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch b/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch index 268243c0fb..c5bb0c02f2 100644 --- a/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch +++ b/target/linux/mvebu/patches-4.9/400-phy-provide-a-hook-for-link-up-link-down-events.patch @@ -157,7 +157,7 @@ Signed-off-by: Russell King /** * phy_prepare_link - prepares the PHY layer to monitor link status * @phydev: target phy_device struct -@@ -899,6 +912,7 @@ int phy_attach_direct(struct net_device +@@ -910,6 +923,7 @@ int phy_attach_direct(struct net_device goto error; } diff --git a/target/linux/mvebu/patches-4.9/407-net-phy-add-802.3-clause-45-support-to-phylib.patch b/target/linux/mvebu/patches-4.9/407-net-phy-add-802.3-clause-45-support-to-phylib.patch index 8e983cc7ff..352d678328 100644 --- a/target/linux/mvebu/patches-4.9/407-net-phy-add-802.3-clause-45-support-to-phylib.patch +++ b/target/linux/mvebu/patches-4.9/407-net-phy-add-802.3-clause-45-support-to-phylib.patch @@ -258,7 +258,7 @@ Signed-off-by: Russell King +EXPORT_SYMBOL_GPL(genphy_c45_read_pma); --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1390,27 +1390,19 @@ EXPORT_SYMBOL(genphy_read_status); +@@ -1410,27 +1410,19 @@ EXPORT_SYMBOL(genphy_read_status); static int gen10g_read_status(struct phy_device *phydev) { diff --git a/target/linux/mvebu/patches-4.9/415-phylink-add-phylink-infrastructure.patch b/target/linux/mvebu/patches-4.9/415-phylink-add-phylink-infrastructure.patch index 87c0daf178..fe3f7c2972 100644 --- a/target/linux/mvebu/patches-4.9/415-phylink-add-phylink-infrastructure.patch +++ b/target/linux/mvebu/patches-4.9/415-phylink-add-phylink-infrastructure.patch @@ -83,14 +83,14 @@ Signed-off-by: Russell King obj-$(CONFIG_SWCONFIG) += swconfig.o --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1003,6 +1003,7 @@ void phy_detach(struct phy_device *phyde +@@ -1021,6 +1021,7 @@ void phy_detach(struct phy_device *phyde phydev->attached_dev->phydev = NULL; phydev->attached_dev = NULL; phy_suspend(phydev); + phydev->phylink = NULL; - /* If the device had no specific driver before (i.e. - it - * was using the generic driver), we unbind the device + module_put(phydev->mdio.dev.driver->owner); + --- /dev/null +++ b/drivers/net/phy/phylink.c @@ -0,0 +1,903 @@ diff --git a/target/linux/pistachio/patches-4.9/413-mtd-Introduce-SPI-NAND-framework.patch b/target/linux/pistachio/patches-4.9/413-mtd-Introduce-SPI-NAND-framework.patch index ab5d74ad72..b13dde7115 100644 --- a/target/linux/pistachio/patches-4.9/413-mtd-Introduce-SPI-NAND-framework.patch +++ b/target/linux/pistachio/patches-4.9/413-mtd-Introduce-SPI-NAND-framework.patch @@ -46,7 +46,7 @@ Signed-off-by: Ian Pozella --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -369,6 +369,8 @@ source "drivers/mtd/onenand/Kconfig" +@@ -373,6 +373,8 @@ source "drivers/mtd/onenand/Kconfig" source "drivers/mtd/lpddr/Kconfig" @@ -57,7 +57,7 @@ Signed-off-by: Ian Pozella source "drivers/mtd/ubi/Kconfig" --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile -@@ -35,5 +35,6 @@ inftl-objs := inftlcore.o inftlmount.o +@@ -36,5 +36,6 @@ inftl-objs := inftlcore.o inftlmount.o obj-y += chips/ lpddr/ maps/ devices/ nand/ onenand/ tests/