diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 875a7605f1..dc070fd57c 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -3,11 +3,11 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .43 -LINUX_VERSION-4.4 = .85 +LINUX_VERSION-4.4 = .86 LINUX_VERSION-4.9 = .47 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c -LINUX_KERNEL_HASH-4.4.85 = cfa49f631587e4587ba04236ce0e56765ea938c26815d5a29eec561b21d0f055 +LINUX_KERNEL_HASH-4.4.86 = cb7787b9cc77cd3f0c6e5a9d6aabec989a932f8145251431cf186f6ad850e2a8 LINUX_KERNEL_HASH-4.9.47 = 75be9679d69460a45e77a61474a6d8eee34de21b9929fe4992971dff122541c9 ifdef KERNEL_PATCHVER diff --git a/target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch b/target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch index bafa4e4b1d..244a4a6586 100644 --- a/target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch +++ b/target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch @@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki #include "b53_regs.h" #include "b53_priv.h" -@@ -1522,6 +1523,28 @@ static int b53_switch_init(struct b53_de +@@ -1578,6 +1579,28 @@ static int b53_switch_init(struct b53_de return ret; } diff --git a/target/linux/brcm63xx/patches-4.4/802-rtl8367r_fix_RGMII_support.patch b/target/linux/brcm63xx/patches-4.4/802-rtl8367r_fix_RGMII_support.patch index 9037d8954a..2aca2f3f74 100644 --- a/target/linux/brcm63xx/patches-4.4/802-rtl8367r_fix_RGMII_support.patch +++ b/target/linux/brcm63xx/patches-4.4/802-rtl8367r_fix_RGMII_support.patch @@ -20,7 +20,7 @@ Subject: [PATCH 6/8] * [rtl8367r] Fix RGMII support #define RTL8367_DI_FORCE_REG(_x) (0x1310 + (_x)) #define RTL8367_DI_FORCE_MODE BIT(12) #define RTL8367_DI_FORCE_NWAY BIT(7) -@@ -894,6 +898,7 @@ static int rtl8367_extif_set_mode(struct +@@ -897,6 +901,7 @@ static int rtl8367_extif_set_mode(struct case RTL8367_EXTIF_MODE_RGMII_33V: REG_WR(smi, RTL8367_CHIP_DEBUG0_REG, 0x0367); REG_WR(smi, RTL8367_CHIP_DEBUG1_REG, 0x7777); diff --git a/target/linux/generic/pending-4.4/002-phy_drivers_backport.patch b/target/linux/generic/pending-4.4/002-phy_drivers_backport.patch index fe0c059371..72e13dcf8b 100644 --- a/target/linux/generic/pending-4.4/002-phy_drivers_backport.patch +++ b/target/linux/generic/pending-4.4/002-phy_drivers_backport.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/adm6996.c +++ b/drivers/net/phy/adm6996.c -@@ -286,7 +286,7 @@ static u16 +@@ -289,7 +289,7 @@ static u16 adm6996_read_mii_reg(struct adm6996_priv *priv, enum admreg reg) { struct phy_device *phydev = priv->priv; @@ -9,7 +9,7 @@ return bus->read(bus, PHYADDR(reg)); } -@@ -295,7 +295,7 @@ static void +@@ -298,7 +298,7 @@ static void adm6996_write_mii_reg(struct adm6996_priv *priv, enum admreg reg, u16 val) { struct phy_device *phydev = priv->priv; @@ -18,7 +18,7 @@ bus->write(bus, PHYADDR(reg), val); } -@@ -1018,13 +1018,13 @@ static int adm6996_config_init(struct ph +@@ -1050,13 +1050,13 @@ static int adm6996_config_init(struct ph pdev->supported = ADVERTISED_100baseT_Full; pdev->advertising = ADVERTISED_100baseT_Full; @@ -35,7 +35,7 @@ if (!priv) return -ENOMEM; -@@ -1044,7 +1044,7 @@ static int adm6996_config_init(struct ph +@@ -1076,7 +1076,7 @@ static int adm6996_config_init(struct ph } /* @@ -44,7 +44,7 @@ */ static int adm6996_read_status(struct phy_device *phydev) { -@@ -1060,7 +1060,7 @@ static int adm6996_read_status(struct ph +@@ -1092,7 +1092,7 @@ static int adm6996_read_status(struct ph } /* @@ -53,7 +53,7 @@ */ static int adm6996_config_aneg(struct phy_device *phydev) { -@@ -1069,11 +1069,11 @@ static int adm6996_config_aneg(struct ph +@@ -1101,11 +1101,11 @@ static int adm6996_config_aneg(struct ph static int adm6996_fixup(struct phy_device *dev) { @@ -67,7 +67,7 @@ return 0; /* look for the switch on the bus */ -@@ -1120,6 +1120,7 @@ static struct phy_driver adm6996_phy_dri +@@ -1152,6 +1152,7 @@ static struct phy_driver adm6996_phy_dri .config_aneg = &adm6996_config_aneg, .read_status = &adm6996_read_status, .soft_reset = adm6996_soft_reset, @@ -75,7 +75,7 @@ }; static int adm6996_gpio_probe(struct platform_device *pdev) -@@ -1188,7 +1189,7 @@ static int __init adm6996_init(void) +@@ -1220,7 +1221,7 @@ static int __init adm6996_init(void) int err; phy_register_fixup_for_id(PHY_ANY_ID, adm6996_fixup); @@ -86,7 +86,7 @@ --- a/drivers/net/phy/ar8216.c +++ b/drivers/net/phy/ar8216.c -@@ -177,7 +177,7 @@ ar8xxx_phy_check_aneg(struct phy_device +@@ -183,7 +183,7 @@ ar8xxx_phy_check_aneg(struct phy_device if (ret & BMCR_ANENABLE) return 0; @@ -95,7 +95,7 @@ ret |= BMCR_ANENABLE | BMCR_ANRESTART; return phy_write(phydev, MII_BMCR, ret); } -@@ -1997,7 +1997,7 @@ ar8xxx_phy_config_init(struct phy_device +@@ -2054,7 +2054,7 @@ ar8xxx_phy_config_init(struct phy_device priv->phy = phydev; @@ -104,7 +104,7 @@ if (chip_is_ar8316(priv)) { /* switch device has been initialized, reinit */ priv->dev.ports = (AR8216_NUM_PORTS - 1); -@@ -2045,7 +2045,7 @@ ar8xxx_check_link_states(struct ar8xxx_p +@@ -2102,7 +2102,7 @@ ar8xxx_check_link_states(struct ar8xxx_p /* flush ARL entries for this port if it went down*/ if (!link_new) priv->chip->atu_flush_port(priv, i); @@ -113,7 +113,7 @@ i, link_new ? "up" : "down"); } -@@ -2064,10 +2064,10 @@ ar8xxx_phy_read_status(struct phy_device +@@ -2121,10 +2121,10 @@ ar8xxx_phy_read_status(struct phy_device if (phydev->state == PHY_CHANGELINK) ar8xxx_check_link_states(priv); @@ -126,7 +126,7 @@ phydev->link = !!link.link; if (!phydev->link) return 0; -@@ -2097,7 +2097,7 @@ ar8xxx_phy_read_status(struct phy_device +@@ -2154,7 +2154,7 @@ ar8xxx_phy_read_status(struct phy_device static int ar8xxx_phy_config_aneg(struct phy_device *phydev) { @@ -135,7 +135,7 @@ return 0; return genphy_config_aneg(phydev); -@@ -2152,15 +2152,15 @@ ar8xxx_phy_probe(struct phy_device *phyd +@@ -2209,15 +2209,15 @@ ar8xxx_phy_probe(struct phy_device *phyd int ret; /* skip PHYs at unused adresses */ @@ -154,7 +154,7 @@ goto found; priv = ar8xxx_create(); -@@ -2169,7 +2169,7 @@ ar8xxx_phy_probe(struct phy_device *phyd +@@ -2226,7 +2226,7 @@ ar8xxx_phy_probe(struct phy_device *phyd goto unlock; } @@ -163,7 +163,7 @@ ret = ar8xxx_probe_switch(priv); if (ret) -@@ -2190,7 +2190,7 @@ ar8xxx_phy_probe(struct phy_device *phyd +@@ -2247,7 +2247,7 @@ ar8xxx_phy_probe(struct phy_device *phyd found: priv->use_count++; @@ -172,7 +172,7 @@ if (ar8xxx_has_gige(priv)) { phydev->supported = SUPPORTED_1000baseT_Full; phydev->advertising = ADVERTISED_1000baseT_Full; -@@ -2278,21 +2278,33 @@ ar8xxx_phy_soft_reset(struct phy_device +@@ -2335,21 +2335,33 @@ ar8xxx_phy_soft_reset(struct phy_device return 0; }