From 9aa196e0f260986991dc8ea65a219f81aed0197e Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Tue, 24 Apr 2018 12:19:43 +0000 Subject: kernel: bump 4.9 to 4.9.96 Refresh patches, following required reworking: ar71xx/patches-4.9/930-chipidea-pullup.patch layerscape/patches-4.9/302-dts-support-layercape.patch sunxi/patches-4.9/0052-stmmac-form-4-12.patch Fixes for CVEs: CVE-2018-1108 CVE-2018-1092 Tested on: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant Tested-by: Koen Vandeputte Tested-by: Arjen de Korte --- .../202-core-linux-support-layerscape.patch | 2 +- .../patches-4.9/301-arch-support-layerscape.patch | 2 +- .../patches-4.9/302-dts-support-layercape.patch | 8 +------- .../401-mtd-spi-nor-support-layerscape.patch | 14 +++++++------- .../patches-4.9/703-phy-support-layerscape.patch | 18 +++++++++--------- .../patches-4.9/803-cpufreq-support-layerscape.patch | 6 +++--- .../patches-4.9/812-mmc-layerscape-support.patch | 12 ++++++------ .../patches-4.9/813-qe-support-layerscape.patch | 2 +- 8 files changed, 29 insertions(+), 35 deletions(-) (limited to 'target/linux/layerscape') diff --git a/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch b/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch index 77e54f8340..a284d8bbd4 100644 --- a/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/202-core-linux-support-layerscape.patch @@ -421,7 +421,7 @@ Signed-off-by: Yangbo Lu * These are the defined Ethernet Protocol ID's. --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6622,9 +6622,18 @@ int dev_set_mtu(struct net_device *dev, +@@ -6630,9 +6630,18 @@ int dev_set_mtu(struct net_device *dev, if (new_mtu == dev->mtu) return 0; diff --git a/target/linux/layerscape/patches-4.9/301-arch-support-layerscape.patch b/target/linux/layerscape/patches-4.9/301-arch-support-layerscape.patch index 0276ebe339..52dfced2b8 100644 --- a/target/linux/layerscape/patches-4.9/301-arch-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/301-arch-support-layerscape.patch @@ -335,7 +335,7 @@ Signed-off-by: Yangbo Lu return 1; --- a/arch/arm64/include/asm/pgtable-prot.h +++ b/arch/arm64/include/asm/pgtable-prot.h -@@ -42,6 +42,7 @@ +@@ -48,6 +48,7 @@ #define PROT_NORMAL_NC (PROT_DEFAULT | PTE_PXN | PTE_UXN | PTE_DIRTY | PTE_WRITE | PTE_ATTRINDX(MT_NORMAL_NC)) #define PROT_NORMAL_WT (PROT_DEFAULT | PTE_PXN | PTE_UXN | PTE_DIRTY | PTE_WRITE | PTE_ATTRINDX(MT_NORMAL_WT)) #define PROT_NORMAL (PROT_DEFAULT | PTE_PXN | PTE_UXN | PTE_DIRTY | PTE_WRITE | PTE_ATTRINDX(MT_NORMAL)) diff --git a/target/linux/layerscape/patches-4.9/302-dts-support-layercape.patch b/target/linux/layerscape/patches-4.9/302-dts-support-layercape.patch index 361f43c6b4..37dc5ee5f0 100644 --- a/target/linux/layerscape/patches-4.9/302-dts-support-layercape.patch +++ b/target/linux/layerscape/patches-4.9/302-dts-support-layercape.patch @@ -340,7 +340,7 @@ Signed-off-by: Yangbo Lu reg = <0x0 0x1570e08 0x0 0x8>; msi-controller; interrupts = ; -@@ -137,16 +144,17 @@ +@@ -137,11 +144,12 @@ compatible = "fsl,ifc", "simple-bus"; reg = <0x0 0x1530000 0x0 0x10000>; interrupts = ; @@ -354,12 +354,6 @@ Signed-off-by: Yangbo Lu big-endian; }; - esdhc: esdhc@1560000 { -- compatible = "fsl,esdhc"; -+ compatible = "fsl,ls1021a-esdhc","fsl,esdhc"; - reg = <0x0 0x1560000 0x0 0x10000>; - interrupts = ; - clock-frequency = <0>; @@ -163,7 +171,7 @@ <0x0 0x20220520 0x0 0x4>; reg-names = "ahci", "sata-ecc"; diff --git a/target/linux/layerscape/patches-4.9/401-mtd-spi-nor-support-layerscape.patch b/target/linux/layerscape/patches-4.9/401-mtd-spi-nor-support-layerscape.patch index 6ffc2e1097..9d84968608 100644 --- a/target/linux/layerscape/patches-4.9/401-mtd-spi-nor-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/401-mtd-spi-nor-support-layerscape.patch @@ -768,7 +768,7 @@ Signed-off-by: Yangbo Lu { "w25q32", INFO(0xef4016, 0, 64 * 1024, 64, SECT_4K) }, { "w25q32dw", INFO(0xef6016, 0, 64 * 1024, 64, -@@ -1192,6 +1216,53 @@ static const struct flash_info *spi_nor_ +@@ -1196,6 +1220,53 @@ static const struct flash_info *spi_nor_ id[0], id[1], id[2]); return ERR_PTR(-ENODEV); } @@ -822,7 +822,7 @@ Signed-off-by: Yangbo Lu static int spi_nor_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, u_char *buf) -@@ -1411,7 +1482,7 @@ static int macronix_quad_enable(struct s +@@ -1415,7 +1486,7 @@ static int macronix_quad_enable(struct s * Write status Register and configuration register with 2 bytes * The first byte will be written to the status register, while the * second byte will be written to the configuration register. @@ -831,7 +831,7 @@ Signed-off-by: Yangbo Lu */ static int write_sr_cr(struct spi_nor *nor, u16 val) { -@@ -1459,6 +1530,24 @@ static int spansion_quad_enable(struct s +@@ -1463,6 +1534,24 @@ static int spansion_quad_enable(struct s return 0; } @@ -856,7 +856,7 @@ Signed-off-by: Yangbo Lu static int set_quad_mode(struct spi_nor *nor, const struct flash_info *info) { int status; -@@ -1605,9 +1694,25 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -1609,9 +1698,25 @@ int spi_nor_scan(struct spi_nor *nor, co write_sr(nor, 0); spi_nor_wait_till_ready(nor); } @@ -882,7 +882,7 @@ Signed-off-by: Yangbo Lu mtd->priv = nor; mtd->type = MTD_NORFLASH; mtd->writesize = 1; -@@ -1641,6 +1746,8 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -1645,6 +1750,8 @@ int spi_nor_scan(struct spi_nor *nor, co nor->flags |= SNOR_F_USE_FSR; if (info->flags & SPI_NOR_HAS_TB) nor->flags |= SNOR_F_HAS_SR_TB; @@ -891,7 +891,7 @@ Signed-off-by: Yangbo Lu #ifdef CONFIG_MTD_SPI_NOR_USE_4K_SECTORS /* prefer "small sector" erase if possible */ -@@ -1680,9 +1787,15 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -1684,9 +1791,15 @@ int spi_nor_scan(struct spi_nor *nor, co /* Some devices cannot do fast-read, no matter what DT tells us */ if (info->flags & SPI_NOR_NO_FR) nor->flash_read = SPI_NOR_NORMAL; @@ -910,7 +910,7 @@ Signed-off-by: Yangbo Lu ret = set_quad_mode(nor, info); if (ret) { dev_err(dev, "quad mode not supported\n"); -@@ -1695,6 +1808,9 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -1699,6 +1812,9 @@ int spi_nor_scan(struct spi_nor *nor, co /* Default commands */ switch (nor->flash_read) { diff --git a/target/linux/layerscape/patches-4.9/703-phy-support-layerscape.patch b/target/linux/layerscape/patches-4.9/703-phy-support-layerscape.patch index 197fd9c50f..acc75cdc2c 100644 --- a/target/linux/layerscape/patches-4.9/703-phy-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/703-phy-support-layerscape.patch @@ -1618,7 +1618,7 @@ Signed-off-by: Yangbo Lu .config_intr = &marvell_config_intr, --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -585,7 +585,7 @@ int phy_mii_ioctl(struct phy_device *phy +@@ -591,7 +591,7 @@ int phy_mii_ioctl(struct phy_device *phy return 0; case SIOCSHWTSTAMP: @@ -1627,7 +1627,7 @@ Signed-off-by: Yangbo Lu return phydev->drv->hwtstamp(phydev, ifr); /* fall through */ -@@ -610,6 +610,9 @@ static int phy_start_aneg_priv(struct ph +@@ -616,6 +616,9 @@ static int phy_start_aneg_priv(struct ph bool trigger = 0; int err; @@ -1637,7 +1637,7 @@ Signed-off-by: Yangbo Lu mutex_lock(&phydev->lock); if (AUTONEG_DISABLE == phydev->autoneg) -@@ -1009,7 +1012,7 @@ void phy_state_machine(struct work_struc +@@ -1015,7 +1018,7 @@ void phy_state_machine(struct work_struc old_state = phydev->state; @@ -1646,7 +1646,7 @@ Signed-off-by: Yangbo Lu phydev->drv->link_change_notify(phydev); switch (phydev->state) { -@@ -1311,6 +1314,9 @@ EXPORT_SYMBOL(phy_write_mmd_indirect); +@@ -1317,6 +1320,9 @@ EXPORT_SYMBOL(phy_write_mmd_indirect); */ int phy_init_eee(struct phy_device *phydev, bool clk_stop_enable) { @@ -1656,7 +1656,7 @@ Signed-off-by: Yangbo Lu /* According to 802.3az,the EEE is supported only in full duplex-mode. * Also EEE feature is active when core is operating with MII, GMII * or RGMII (all kinds). Internal PHYs are also allowed to proceed and -@@ -1388,6 +1394,9 @@ EXPORT_SYMBOL(phy_init_eee); +@@ -1394,6 +1400,9 @@ EXPORT_SYMBOL(phy_init_eee); */ int phy_get_eee_err(struct phy_device *phydev) { @@ -1666,7 +1666,7 @@ Signed-off-by: Yangbo Lu return phy_read_mmd_indirect(phydev, MDIO_PCS_EEE_WK_ERR, MDIO_MMD_PCS); } EXPORT_SYMBOL(phy_get_eee_err); -@@ -1404,6 +1413,9 @@ int phy_ethtool_get_eee(struct phy_devic +@@ -1410,6 +1419,9 @@ int phy_ethtool_get_eee(struct phy_devic { int val; @@ -1676,7 +1676,7 @@ Signed-off-by: Yangbo Lu /* Get Supported EEE */ val = phy_read_mmd_indirect(phydev, MDIO_PCS_EEE_ABLE, MDIO_MMD_PCS); if (val < 0) -@@ -1437,6 +1449,9 @@ int phy_ethtool_set_eee(struct phy_devic +@@ -1443,6 +1455,9 @@ int phy_ethtool_set_eee(struct phy_devic { int val = ethtool_adv_to_mmd_eee_adv_t(data->advertised); @@ -1686,7 +1686,7 @@ Signed-off-by: Yangbo Lu /* Mask prohibited EEE modes */ val &= ~phydev->eee_broken_modes; -@@ -1448,7 +1463,7 @@ EXPORT_SYMBOL(phy_ethtool_set_eee); +@@ -1454,7 +1469,7 @@ EXPORT_SYMBOL(phy_ethtool_set_eee); int phy_ethtool_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) { @@ -1695,7 +1695,7 @@ Signed-off-by: Yangbo Lu return phydev->drv->set_wol(phydev, wol); return -EOPNOTSUPP; -@@ -1457,7 +1472,7 @@ EXPORT_SYMBOL(phy_ethtool_set_wol); +@@ -1463,7 +1478,7 @@ EXPORT_SYMBOL(phy_ethtool_set_wol); void phy_ethtool_get_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) { diff --git a/target/linux/layerscape/patches-4.9/803-cpufreq-support-layerscape.patch b/target/linux/layerscape/patches-4.9/803-cpufreq-support-layerscape.patch index 465f909a97..ac9b4b068a 100644 --- a/target/linux/layerscape/patches-4.9/803-cpufreq-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/803-cpufreq-support-layerscape.patch @@ -328,7 +328,7 @@ Signed-off-by: Yangbo Lu pr_info("Freescale QorIQ CPU frequency scaling driver\n"); --- a/drivers/firmware/psci.c +++ b/drivers/firmware/psci.c -@@ -418,8 +418,12 @@ CPUIDLE_METHOD_OF_DECLARE(psci, "psci", +@@ -437,8 +437,12 @@ CPUIDLE_METHOD_OF_DECLARE(psci, "psci", static int psci_system_suspend(unsigned long unused) { @@ -343,7 +343,7 @@ Signed-off-by: Yangbo Lu } static int psci_system_suspend_enter(suspend_state_t state) -@@ -439,6 +443,8 @@ static void __init psci_init_system_susp +@@ -458,6 +462,8 @@ static void __init psci_init_system_susp if (!IS_ENABLED(CONFIG_SUSPEND)) return; @@ -352,7 +352,7 @@ Signed-off-by: Yangbo Lu ret = psci_features(PSCI_FN_NATIVE(1_0, SYSTEM_SUSPEND)); if (ret != PSCI_RET_NOT_SUPPORTED) -@@ -516,6 +522,8 @@ static void __init psci_0_2_set_function +@@ -562,6 +568,8 @@ static void __init psci_0_2_set_function arm_pm_restart = psci_sys_reset; pm_power_off = psci_sys_poweroff; diff --git a/target/linux/layerscape/patches-4.9/812-mmc-layerscape-support.patch b/target/linux/layerscape/patches-4.9/812-mmc-layerscape-support.patch index 67c32dc4a4..4b32417379 100644 --- a/target/linux/layerscape/patches-4.9/812-mmc-layerscape-support.patch +++ b/target/linux/layerscape/patches-4.9/812-mmc-layerscape-support.patch @@ -482,7 +482,7 @@ Signed-off-by: Yangbo Lu sdhci_get_of_property(pdev); --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c -@@ -1624,26 +1624,24 @@ static void sdhci_set_ios(struct mmc_hos +@@ -1631,26 +1631,24 @@ static void sdhci_set_ios(struct mmc_hos ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); @@ -523,7 +523,7 @@ Signed-off-by: Yangbo Lu if (!host->preset_enabled) { sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL); /* -@@ -1956,7 +1954,7 @@ static int sdhci_prepare_hs400_tuning(st +@@ -1963,7 +1961,7 @@ static int sdhci_prepare_hs400_tuning(st return 0; } @@ -532,7 +532,7 @@ Signed-off-by: Yangbo Lu { struct sdhci_host *host = mmc_priv(mmc); u16 ctrl; -@@ -2015,6 +2013,9 @@ static int sdhci_execute_tuning(struct m +@@ -2022,6 +2020,9 @@ static int sdhci_execute_tuning(struct m return err; } @@ -542,7 +542,7 @@ Signed-off-by: Yangbo Lu ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2); ctrl |= SDHCI_CTRL_EXEC_TUNING; if (host->quirks2 & SDHCI_QUIRK2_TUNING_WORK_AROUND) -@@ -2127,9 +2128,10 @@ static int sdhci_execute_tuning(struct m +@@ -2134,9 +2135,10 @@ static int sdhci_execute_tuning(struct m ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2); @@ -556,7 +556,7 @@ Signed-off-by: Yangbo Lu } while (ctrl & SDHCI_CTRL_EXEC_TUNING); /* -@@ -2165,6 +2167,7 @@ out_unlock: +@@ -2172,6 +2174,7 @@ out_unlock: spin_unlock_irqrestore(&host->lock, flags); return err; } @@ -564,7 +564,7 @@ Signed-off-by: Yangbo Lu static int sdhci_select_drive_strength(struct mmc_card *card, unsigned int max_dtr, int host_drv, -@@ -2997,6 +3000,8 @@ struct sdhci_host *sdhci_alloc_host(stru +@@ -3004,6 +3007,8 @@ struct sdhci_host *sdhci_alloc_host(stru host->flags = SDHCI_SIGNALING_330; diff --git a/target/linux/layerscape/patches-4.9/813-qe-support-layerscape.patch b/target/linux/layerscape/patches-4.9/813-qe-support-layerscape.patch index c1431306a4..1dfa46e839 100644 --- a/target/linux/layerscape/patches-4.9/813-qe-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.9/813-qe-support-layerscape.patch @@ -1162,7 +1162,7 @@ Signed-off-by: Yangbo Lu /* Move to next BD in the ring */ if (!(bd_status & T_W_S)) @@ -457,7 +457,7 @@ static int hdlc_rx_done(struct ucc_hdlc_ - struct sk_buff *skb; + struct sk_buff *skb = NULL; hdlc_device *hdlc = dev_to_hdlc(dev); struct qe_bd *bd; - u32 bd_status; -- cgit v1.2.3