kernel: update kernel 4.4 to version 4.4.3
authorHauke Mehrtens <hauke@hauke-m.de>
Thu, 25 Feb 2016 21:54:39 +0000 (21:54 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Thu, 25 Feb 2016 21:54:39 +0000 (21:54 +0000)
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 48783

30 files changed:
include/kernel-version.mk
target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
target/linux/ar71xx/patches-4.4/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
target/linux/brcm47xx/patches-4.4/800-bcma-add-table-of-serial-flashes-with-smaller-blocks.patch
target/linux/brcm47xx/patches-4.4/901-Revert-bcma-switch-GPIO-portions-to-use-GPIOLIB_IRQC.patch
target/linux/brcm47xx/patches-4.4/999-wl_exports.patch
target/linux/brcm63xx/patches-4.4/574-board_HG622.patch
target/linux/brcm63xx/patches-4.4/800-wl_exports.patch
target/linux/generic/patches-4.4/010-KEYS-Fix-keyring-ref-leak-in-join_session_keyring.patch [deleted file]
target/linux/generic/patches-4.4/100-dump_stack-avoid-potential-deadlocks.patch [deleted file]
target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/patches-4.4/721-phy_packets.patch
target/linux/generic/patches-4.4/820-usb_add_usb_find_device_by_name.patch
target/linux/lantiq/patches-4.4/0004-MIPS-lantiq-add-atm-hack.patch
target/linux/lantiq/patches-4.4/0032-USB-fix-roothub-for-IFXHCD.patch
target/linux/lantiq/patches-4.4/0044-pinctrl-lantiq-introduce-new-dedicated-devicetree-bi.patch
target/linux/mxs/patches-4.4/101-mxs-add-mxs_power.patch
target/linux/mxs/patches-4.4/102-mxs-add-regulator-driver.patch
target/linux/mxs/patches-4.4/103-dt-enable-regulator.patch
target/linux/mxs/patches-4.4/110-crypto-mxsdcp-provide-importexport.patch
target/linux/oxnas/patches-4.4/340-oxnas-pcie.patch
target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch [deleted file]
target/linux/uml/patches-4.4/100-link-libpthread.patch
target/linux/uml/patches-4.4/101-mconsole-exec.patch
target/linux/uml/patches-4.4/102-pseudo-random-mac.patch
target/linux/zynq/patches-4.4/0001-arm-dts-zynq-zc702.dts-Set-default-rdinit-to-sbin-in.patch

index af1af70cd91f17052bbd7800dcc9349ba30108b7..3f4c71df9ad6ea931404f573d6424366fe116dbc 100644 (file)
@@ -5,12 +5,12 @@ LINUX_RELEASE?=1
 LINUX_VERSION-3.18 = .26
 LINUX_VERSION-4.1 = .16
 LINUX_VERSION-4.3 = .4
 LINUX_VERSION-3.18 = .26
 LINUX_VERSION-4.1 = .16
 LINUX_VERSION-4.3 = .4
-LINUX_VERSION-4.4 =
+LINUX_VERSION-4.4 = .3
 
 LINUX_KERNEL_MD5SUM-3.18.26 = fb3ef8da32a25607807887b9567a6927
 LINUX_KERNEL_MD5SUM-4.1.16 = e4bf22fed49b476b47acffc00c03267a
 LINUX_KERNEL_MD5SUM-4.3.4 = 5275d02132107c28b85f986bad576d91
 
 LINUX_KERNEL_MD5SUM-3.18.26 = fb3ef8da32a25607807887b9567a6927
 LINUX_KERNEL_MD5SUM-4.1.16 = e4bf22fed49b476b47acffc00c03267a
 LINUX_KERNEL_MD5SUM-4.3.4 = 5275d02132107c28b85f986bad576d91
-LINUX_KERNEL_MD5SUM-4.4 = 9a78fa2eb6c68ca5a40ed5af08142599
+LINUX_KERNEL_MD5SUM-4.4.3 = 5feab5a2c016e186e3088d4fae963ed7
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
index 61b6b4ee16934aff0ff9052aae73b07abd80b440..0e33674adf0a9df969be03b9d7a5606401cd9e08 100644 (file)
@@ -29,9 +29,7 @@
 -      u32 bootstrap;
 +      void __iomem *phy_reg;
 +      u32 t;
 -      u32 bootstrap;
 +      void __iomem *phy_reg;
 +      u32 t;
--      bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
--      if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
++
 +      phy_reg = ioremap(base, 4);
 +      if (!phy_reg)
 +              return;
 +      phy_reg = ioremap(base, 4);
 +      if (!phy_reg)
 +              return;
@@ -43,7 +41,9 @@
 +
 +      iounmap(phy_reg);
 +}
 +
 +      iounmap(phy_reg);
 +}
-+
+-      bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
+-      if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
 +static void ar934x_usb_reset_notifier(struct platform_device *pdev)
 +{
 +      if (pdev->id != -1)
 +static void ar934x_usb_reset_notifier(struct platform_device *pdev)
 +{
 +      if (pdev->id != -1)
index 5d9d802eda0a480202b6d780bffe270fb62e57ee..4d7902e166648dd1c3c90fc8c77fd1206e49f631 100644 (file)
 +static void __init ap136_common_setup(void)
 +{
 +      u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
 +static void __init ap136_common_setup(void)
 +{
 +      u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
--static int ap136_pci_plat_dev_init(struct pci_dev *dev)
++
 +      ath79_register_m25p80(NULL);
 +
 +      ath79_register_leds_gpio(-1, ARRAY_SIZE(ap136_leds_gpio),
 +      ath79_register_m25p80(NULL);
 +
 +      ath79_register_leds_gpio(-1, ARRAY_SIZE(ap136_leds_gpio),
 +      ath79_register_wmac(art + AP136_WMAC_CALDATA_OFFSET, NULL);
 +
 +      ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
 +      ath79_register_wmac(art + AP136_WMAC_CALDATA_OFFSET, NULL);
 +
 +      ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-+
+-static int ap136_pci_plat_dev_init(struct pci_dev *dev)
 +      ath79_register_mdio(0, 0x0);
 +      ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
 +
 +      ath79_register_mdio(0, 0x0);
 +      ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
 +
 +      /* GMAC0 of the AR8327 switch is connected to GMAC1 via SGMII */
 +      ap136_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_SGMII;
 +      ap136_ar8327_pad0_cfg.sgmii_delay_en = true;
 +      /* GMAC0 of the AR8327 switch is connected to GMAC1 via SGMII */
 +      ap136_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_SGMII;
 +      ap136_ar8327_pad0_cfg.sgmii_delay_en = true;
--      ath79_pci_set_plat_dev_init(ap136_pci_plat_dev_init);
--      ath79_register_pci();
++
 +      /* GMAC6 of the AR8327 switch is connected to GMAC0 via RGMII */
 +      ap136_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_RGMII;
 +      ap136_ar8327_pad6_cfg.txclk_delay_en = true;
 +      ap136_ar8327_pad6_cfg.rxclk_delay_en = true;
 +      ap136_ar8327_pad6_cfg.txclk_delay_sel = AR8327_CLK_DELAY_SEL1;
 +      ap136_ar8327_pad6_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2;
 +      /* GMAC6 of the AR8327 switch is connected to GMAC0 via RGMII */
 +      ap136_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_RGMII;
 +      ap136_ar8327_pad6_cfg.txclk_delay_en = true;
 +      ap136_ar8327_pad6_cfg.rxclk_delay_en = true;
 +      ap136_ar8327_pad6_cfg.txclk_delay_sel = AR8327_CLK_DELAY_SEL1;
 +      ap136_ar8327_pad6_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2;
-+
+-      ath79_pci_set_plat_dev_init(ap136_pci_plat_dev_init);
+-      ath79_register_pci();
 +      ath79_eth0_pll_data.pll_1000 = 0x56000000;
 +      ath79_eth1_pll_data.pll_1000 = 0x03000101;
 +
 +      ath79_eth0_pll_data.pll_1000 = 0x56000000;
 +      ath79_eth1_pll_data.pll_1000 = 0x03000101;
 +
index 237b03075bd7cada1b6f2a14af6dd2ae6615935d..a54c12b1a0971d4dfaf9f9803f996158ba2012d4 100644 (file)
@@ -9,9 +9,6 @@
        u32 t, s;
  
 -      BUG_ON(!soc_is_ar934x() && !soc_is_qca953x() && !soc_is_qca956x());
        u32 t, s;
  
 -      BUG_ON(!soc_is_ar934x() && !soc_is_qca953x() && !soc_is_qca956x());
--
--      if (gpio >= AR934X_GPIO_COUNT)
--              return;
 +      if (soc_is_ar934x())
 +              reg_base = AR934X_GPIO_REG_OUT_FUNC0;
 +      else if (soc_is_qca953x())
 +      if (soc_is_ar934x())
 +              reg_base = AR934X_GPIO_REG_OUT_FUNC0;
 +      else if (soc_is_qca953x())
@@ -23,6 +20,9 @@
 +      else
 +              BUG();
  
 +      else
 +              BUG();
  
+-      if (gpio >= AR934X_GPIO_COUNT)
+-              return;
+-
 -      reg = AR934X_GPIO_REG_OUT_FUNC0 + 4 * (gpio / 4);
 +      reg = reg_base + 4 * (gpio / 4);
        s = 8 * (gpio % 4);
 -      reg = AR934X_GPIO_REG_OUT_FUNC0 + 4 * (gpio / 4);
 +      reg = reg_base + 4 * (gpio / 4);
        s = 8 * (gpio % 4);
index 82957f23b91f6b377cd64297a42a67ea9207e4cc..3a615700112844620da4bc4eaf78a7df8f7a9c86 100644 (file)
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
-@@ -776,10 +777,10 @@ static void tcp_v6_send_response(const s
+@@ -778,10 +779,10 @@ static void tcp_v6_send_response(const s
        topt = (__be32 *)(t1 + 1);
  
        if (tsecr) {
        topt = (__be32 *)(t1 + 1);
  
        if (tsecr) {
  #include <linux/netdevice.h>
 --- a/include/net/inet_ecn.h
 +++ b/include/net/inet_ecn.h
  #include <linux/netdevice.h>
 --- a/include/net/inet_ecn.h
 +++ b/include/net/inet_ecn.h
-@@ -115,13 +115,13 @@ static inline int IP6_ECN_set_ce(struct
- {
+@@ -124,9 +124,9 @@ static inline int IP6_ECN_set_ce(struct
        if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
                return 0;
        if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
                return 0;
--      *(__be32*)iph |= htonl(INET_ECN_CE << 20);
-+      net_hdr_word(iph) |= htonl(INET_ECN_CE << 20);
+-      from = *(__be32 *)iph;
++      from = net_hdr_word(iph);
+       to = from | htonl(INET_ECN_CE << 20);
+-      *(__be32 *)iph = to;
++      net_hdr_word(iph) = to;
+       if (skb->ip_summed == CHECKSUM_COMPLETE)
+               skb->csum = csum_add(csum_sub(skb->csum, from), to);
        return 1;
        return 1;
- }
+@@ -134,7 +134,7 @@ static inline int IP6_ECN_set_ce(struct
  
  static inline void IP6_ECN_clear(struct ipv6hdr *iph)
  {
  
  static inline void IP6_ECN_clear(struct ipv6hdr *iph)
  {
index 43c1978f49135e12a5e8cfae50bc851aa087c695..6e8681c5c0629ab207018f8ebf12a2c3bac6d056 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <zajec5@gmail.com>
  
  #include "b53_regs.h"
  #include "b53_priv.h"
  
  #include "b53_regs.h"
  #include "b53_priv.h"
-@@ -1313,6 +1314,20 @@ static int b53_switch_init(struct b53_de
+@@ -1370,6 +1371,20 @@ static int b53_switch_init(struct b53_de
                        sw_dev->cpu_port = 5;
        }
  
                        sw_dev->cpu_port = 5;
        }
  
index 909cffe8adda855c38a43888bff6d0bedd97f9ce..736aac1c60e9106b7602a39182b3eba7bc37c329 100644 (file)
@@ -659,7 +659,7 @@ dwc_otg: Remove duplicate gadget probe/unregister function
  }
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
  }
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -4946,7 +4946,7 @@ static void port_event(struct usb_hub *h
+@@ -4967,7 +4967,7 @@ static void port_event(struct usb_hub *h
        if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
                u16 status = 0, unused;
  
        if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
                u16 status = 0, unused;
  
index 99d909bc037e6462a409b940d617cd5ba0c4bb40..318dc55810c684635a61122116a17c2a5d61978c 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <zajec5@gmail.com>
  
  static struct resource bcma_sflash_resource = {
        .name   = "bcma_sflash",
  
  static struct resource bcma_sflash_resource = {
        .name   = "bcma_sflash",
-@@ -41,6 +42,13 @@ static const struct bcma_sflash_tbl_e bc
+@@ -42,6 +43,13 @@ static const struct bcma_sflash_tbl_e bc
        { NULL },
  };
  
        { NULL },
  };
  
@@ -35,7 +35,7 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <zajec5@gmail.com>
  static const struct bcma_sflash_tbl_e bcma_sflash_sst_tbl[] = {
        { "SST25WF512", 1, 0x1000, 16, },
        { "SST25VF512", 0x48, 0x1000, 16, },
  static const struct bcma_sflash_tbl_e bcma_sflash_sst_tbl[] = {
        { "SST25WF512", 1, 0x1000, 16, },
        { "SST25VF512", 0x48, 0x1000, 16, },
-@@ -84,6 +92,24 @@ static void bcma_sflash_cmd(struct bcma_
+@@ -85,6 +93,24 @@ static void bcma_sflash_cmd(struct bcma_
        bcma_err(cc->core->bus, "SFLASH control command failed (timeout)!\n");
  }
  
        bcma_err(cc->core->bus, "SFLASH control command failed (timeout)!\n");
  }
  
@@ -60,7 +60,7 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <zajec5@gmail.com>
  /* Initialize serial flash access */
  int bcma_sflash_init(struct bcma_drv_cc *cc)
  {
  /* Initialize serial flash access */
  int bcma_sflash_init(struct bcma_drv_cc *cc)
  {
-@@ -114,6 +140,10 @@ int bcma_sflash_init(struct bcma_drv_cc
+@@ -115,6 +141,10 @@ int bcma_sflash_init(struct bcma_drv_cc
                case 0x13:
                        return -ENOTSUPP;
                default:
                case 0x13:
                        return -ENOTSUPP;
                default:
index 585d56aedfa21582bd720e3a36585a4d69b28e2c..e686ba85284cc31aa312e7ae51857db0105de59a 100644 (file)
@@ -195,7 +195,7 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <zajec5@gmail.com>
  #if IS_BUILTIN(CONFIG_OF)
        if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
                chip->of_node   = cc->core->dev.of_node;
  #if IS_BUILTIN(CONFIG_OF)
        if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
                chip->of_node   = cc->core->dev.of_node;
-@@ -216,13 +248,13 @@ int bcma_gpio_init(struct bcma_drv_cc *c
+@@ -217,13 +249,13 @@ int bcma_gpio_init(struct bcma_drv_cc *c
        else
                chip->base              = -1;
  
        else
                chip->base              = -1;
  
@@ -212,7 +212,7 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <zajec5@gmail.com>
                return err;
        }
  
                return err;
        }
  
-@@ -231,7 +263,7 @@ int bcma_gpio_init(struct bcma_drv_cc *c
+@@ -232,7 +264,7 @@ int bcma_gpio_init(struct bcma_drv_cc *c
  
  int bcma_gpio_unregister(struct bcma_drv_cc *cc)
  {
  
  int bcma_gpio_unregister(struct bcma_drv_cc *cc)
  {
@@ -223,7 +223,7 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <zajec5@gmail.com>
  }
 --- a/include/linux/bcma/bcma_driver_chipcommon.h
 +++ b/include/linux/bcma/bcma_driver_chipcommon.h
  }
 --- a/include/linux/bcma/bcma_driver_chipcommon.h
 +++ b/include/linux/bcma/bcma_driver_chipcommon.h
-@@ -640,6 +640,7 @@ struct bcma_drv_cc {
+@@ -646,6 +646,7 @@ struct bcma_drv_cc {
        spinlock_t gpio_lock;
  #ifdef CONFIG_BCMA_DRIVER_GPIO
        struct gpio_chip gpio;
        spinlock_t gpio_lock;
  #ifdef CONFIG_BCMA_DRIVER_GPIO
        struct gpio_chip gpio;
index ea59f4f1db52589d494601adfebc6d01f4dcade1..9094ec862a98f52a7adcf667bbeed81e52d84d99 100644 (file)
@@ -12,7 +12,7 @@
  static int cfe_env;
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
  static int cfe_env;
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
-@@ -59,6 +59,7 @@ void (*_dma_cache_wback)(unsigned long s
+@@ -60,6 +60,7 @@ void (*_dma_cache_wback)(unsigned long s
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
index 53818dc45874a95ee5381e850e0b8e5156c5db88..1f2e3d2f79fa2548fd06c20721e47fd7ca4bf684 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2057,6 +2057,53 @@ static struct board_info __initdata boar
+@@ -2058,6 +2058,53 @@ static struct board_info __initdata boar
        },
  };
  
        },
  };
  
@@ -54,7 +54,7 @@
  static struct sprom_fixup __initdata vr3025u_fixups[] = {
        { .offset = 97, .value = 0xfeb3 },
        { .offset = 98, .value = 0x1618 },
  static struct sprom_fixup __initdata vr3025u_fixups[] = {
        { .offset = 97, .value = 0xfeb3 },
        { .offset = 98, .value = 0x1618 },
-@@ -2563,6 +2610,7 @@ static const struct board_info __initcon
+@@ -2564,6 +2611,7 @@ static const struct board_info __initcon
        &board_96368mvwg,
        &board_96368mvngr,
        &board_DGND3700v1_3800B,
        &board_96368mvwg,
        &board_96368mvngr,
        &board_DGND3700v1_3800B,
@@ -62,7 +62,7 @@
        &board_HG655b,
        &board_P870HW51A_V2,
        &board_VR3025u,
        &board_HG655b,
        &board_P870HW51A_V2,
        &board_VR3025u,
-@@ -2671,6 +2719,7 @@ static struct of_device_id const bcm963x
+@@ -2672,6 +2720,7 @@ static struct of_device_id const bcm963x
        { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
        { .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
        { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
        { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
        { .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
        { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
index 68d37c7506cfc469f9649fd9180dc5d259056a6f..7f8720abb0a47134b6f4921425bc3606e5da7e8e 100644 (file)
@@ -15,7 +15,7 @@
        unsigned int check_len;
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
        unsigned int check_len;
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
-@@ -59,6 +59,7 @@ void (*_dma_cache_wback)(unsigned long s
+@@ -60,6 +60,7 @@ void (*_dma_cache_wback)(unsigned long s
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
diff --git a/target/linux/generic/patches-4.4/010-KEYS-Fix-keyring-ref-leak-in-join_session_keyring.patch b/target/linux/generic/patches-4.4/010-KEYS-Fix-keyring-ref-leak-in-join_session_keyring.patch
deleted file mode 100644 (file)
index f22d8c3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-From 7ca88764d45c209791e8813131c1457c2e9e51e7 Mon Sep 17 00:00:00 2001
-From: Yevgeny Pats <yevgeny@perception-point.io>
-Date: Mon, 11 Jan 2016 12:05:28 +0000
-Subject: KEYS: Fix keyring ref leak in join_session_keyring()
-
-If a thread is asked to join as a session keyring the keyring that's already
-set as its session, we leak a keyring reference.
-
-This can be tested with the following program:
-
-       #include <stddef.h>
-       #include <stdio.h>
-       #include <sys/types.h>
-       #include <keyutils.h>
-
-       int main(int argc, const char *argv[])
-       {
-               int i = 0;
-               key_serial_t serial;
-
-               serial = keyctl(KEYCTL_JOIN_SESSION_KEYRING,
-                               "leaked-keyring");
-               if (serial < 0) {
-                       perror("keyctl");
-                       return -1;
-               }
-
-               if (keyctl(KEYCTL_SETPERM, serial,
-                          KEY_POS_ALL | KEY_USR_ALL) < 0) {
-                       perror("keyctl");
-                       return -1;
-               }
-
-               for (i = 0; i < 100; i++) {
-                       serial = keyctl(KEYCTL_JOIN_SESSION_KEYRING,
-                                       "leaked-keyring");
-                       if (serial < 0) {
-                               perror("keyctl");
-                               return -1;
-                       }
-               }
-
-               return 0;
-       }
-
-If, after the program has run, there something like the following line in
-/proc/keys:
-
-3f3d898f I--Q---   100 perm 3f3f0000     0     0 keyring   leaked-keyring: empty
-
-with a usage count of 100 * the number of times the program has been run,
-then the kernel is malfunctioning.  If leaked-keyring has zero usages or
-has been garbage collected, then the problem is fixed.
-
-Reported-by: Yevgeny Pats <yevgeny@perception-point.io>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- security/keys/process_keys.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/security/keys/process_keys.c
-+++ b/security/keys/process_keys.c
-@@ -794,6 +794,7 @@ long join_session_keyring(const char *na
-               ret = PTR_ERR(keyring);
-               goto error2;
-       } else if (keyring == new->session_keyring) {
-+              key_put(keyring);
-               ret = 0;
-               goto error2;
-       }
diff --git a/target/linux/generic/patches-4.4/100-dump_stack-avoid-potential-deadlocks.patch b/target/linux/generic/patches-4.4/100-dump_stack-avoid-potential-deadlocks.patch
deleted file mode 100644 (file)
index a20de7a..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-From: Eric Dumazet <edumazet@google.com>
-Date: Fri, 22 Jan 2016 23:06:44 -0800
-Subject: [PATCH] dump_stack: avoid potential deadlocks
-
-Some servers experienced fatal deadlocks because of a combination
-of bugs, leading to multiple cpus calling dump_stack().
-
-The checksumming bug was fixed in commit 34ae6a1aa054
-("ipv6: update skb->csum when CE mark is propagated").
-
-The second problem is a faulty locking in dump_stack()
-
-CPU1 runs in process context and calls dump_stack(), grabs dump_lock.
-
-   CPU2 receives a TCP packet under softirq, grabs socket spinlock, and
-   call dump_stack() from netdev_rx_csum_fault().
-
-   dump_stack() spins on atomic_cmpxchg(&dump_lock, -1, 2), since
-   dump_lock is owned by CPU1
-
-While dumping its stack, CPU1 is interrupted by a softirq, and happens
-to process a packet for the TCP socket locked by CPU2.
-
-CPU1 spins forever in spin_lock() : deadlock
-
-Stack trace on CPU1 looked like :
-
-[306295.402231] NMI backtrace for cpu 1
-[306295.402238] RIP: 0010:[<ffffffffa9804e95>]  [<ffffffffa9804e95>] _raw_spin_lock+0x25/0x30
-...
-[306295.402255] Stack:
-[306295.402256]  ffff88407f023cb0 ffffffffa99cbdc3 ffff88407f023ca0 ffff88012f496bb0
-[306295.402266]  ffffffffaa4dc1f0 ffff8820d94f0dc0 000000000000000a ffffffffaa4b4280
-[306295.402275]  ffff88407f023ce0 ffffffffa98a21d0 ffff88407f023cc0 ffff88407f023ca0
-[306295.402284] Call Trace:
-[306295.402286]  <IRQ>
-[306295.402288]
-[306295.402291]  [<ffffffffa99cbdc3>] tcp_v6_rcv+0x243/0x620
-[306295.402304]  [<ffffffffa99c38af>] ip6_input_finish+0x11f/0x330
-[306295.402309]  [<ffffffffa99c3b38>] ip6_input+0x38/0x40
-[306295.402313]  [<ffffffffa99c3b7c>] ip6_rcv_finish+0x3c/0x90
-[306295.402318]  [<ffffffffa99c3e79>] ipv6_rcv+0x2a9/0x500
-[306295.402323]  [<ffffffffa989a1a1>] process_backlog+0x461/0xaa0
-[306295.402332]  [<ffffffffa9899a57>] net_rx_action+0x147/0x430
-[306295.402337]  [<ffffffffa980cca7>] __do_softirq+0x167/0x2d0
-[306295.402341]  [<ffffffffa9d912dc>] call_softirq+0x1c/0x30
-[306295.402345]  [<ffffffffa980687f>] do_softirq+0x3f/0x80
-[306295.402350]  [<ffffffffa980cf7e>] irq_exit+0x6e/0xc0
-[306295.402355]  [<ffffffffa980a5b5>] smp_call_function_single_interrupt+0x35/0x40
-[306295.402360]  [<ffffffffa9d90bfa>] call_function_single_interrupt+0x6a/0x70
-[306295.402361]  <EOI>
-[306295.402364]
-[306295.402376]  [<ffffffffa9a3fa32>] printk+0x4d/0x4f
-[306295.402390]  [<ffffffffa99e1726>] printk_address+0x31/0x33
-[306295.402395]  [<ffffffffa99e175b>] print_trace_address+0x33/0x3c
-[306295.402408]  [<ffffffffa99e165b>] print_context_stack+0x7f/0x119
-[306295.402412]  [<ffffffffa99e07f1>] dump_trace+0x26b/0x28e
-[306295.402417]  [<ffffffffa99e17b3>] show_trace_log_lvl+0x4f/0x5c
-[306295.402421]  [<ffffffffa99e0a14>] show_stack_log_lvl+0x104/0x113
-[306295.402425]  [<ffffffffa99e1819>] show_stack+0x42/0x44
-[306295.402429]  [<ffffffffa9ba350a>] dump_stack+0x46/0x58
-[306295.402434]  [<ffffffffa9d0957d>] netdev_rx_csum_fault+0x38/0x3c
-[306295.402439]  [<ffffffffa9988e0e>] __skb_checksum_complete_head+0x6e/0x80
-[306295.402444]  [<ffffffffa9988e31>] __skb_checksum_complete+0x11/0x20
-[306295.402449]  [<ffffffffa98acf65>] tcp_rcv_established+0x2bd5/0x2fd0
-[306295.402468]  [<ffffffffa99cb69c>] tcp_v6_do_rcv+0x13c/0x620
-[306295.402477]  [<ffffffffa9984be5>] sk_backlog_rcv+0x15/0x30
-[306295.402482]  [<ffffffffa98931e2>] release_sock+0xd2/0x150
-[306295.402486]  [<ffffffffa98a51b1>] tcp_recvmsg+0x1c1/0xfc0
-[306295.402491]  [<ffffffffa98b637d>] inet_recvmsg+0x7d/0x90
-[306295.402495]  [<ffffffffa9891fcf>] sock_recvmsg+0xaf/0xe0
-[306295.402505]  [<ffffffffa9892611>] ___sys_recvmsg+0x111/0x3b0
-[306295.402528]  [<ffffffffa9892f5c>] SyS_recvmsg+0x5c/0xb0
-[306295.402532]  [<ffffffffa9d8fba2>] system_call_fastpath+0x16/0x1b
-
-Fixes: b58d977432c8 ("dump_stack: serialize the output from dump_stack()")
-Signed-off-by: Eric Dumazet <edumazet@google.com>
-Cc: Alex Thorlton <athorlton@sgi.com>
----
-
---- a/lib/dump_stack.c
-+++ b/lib/dump_stack.c
-@@ -25,6 +25,7 @@ static atomic_t dump_lock = ATOMIC_INIT(
- asmlinkage __visible void dump_stack(void)
- {
-+      unsigned long flags;
-       int was_locked;
-       int old;
-       int cpu;
-@@ -33,9 +34,8 @@ asmlinkage __visible void dump_stack(voi
-        * Permit this cpu to perform nested stack dumps while serialising
-        * against other CPUs
-        */
--      preempt_disable();
--
- retry:
-+      local_irq_save(flags);
-       cpu = smp_processor_id();
-       old = atomic_cmpxchg(&dump_lock, -1, cpu);
-       if (old == -1) {
-@@ -43,6 +43,7 @@ retry:
-       } else if (old == cpu) {
-               was_locked = 1;
-       } else {
-+              local_irq_restore(flags);
-               cpu_relax();
-               goto retry;
-       }
-@@ -52,7 +53,7 @@ retry:
-       if (!was_locked)
-               atomic_set(&dump_lock, -1);
--      preempt_enable();
-+      local_irq_restore(flags);
- }
- #else
- asmlinkage __visible void dump_stack(void)
index 921b8096a00fdc7ecb3ba4815519c6c8e69ae348..256bd514aa642a80377c81c74d29c746673c7170 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4199,6 +4199,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4204,6 +4204,9 @@ static enum gro_result dev_gro_receive(s
        enum gro_result ret;
        int grow;
  
        enum gro_result ret;
        int grow;
  
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        if (!(skb->dev->features & NETIF_F_GRO))
                goto normal;
  
        if (!(skb->dev->features & NETIF_F_GRO))
                goto normal;
  
-@@ -5349,6 +5352,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5354,6 +5357,48 @@ static void __netdev_adjacent_dev_unlink
                                           &upper_dev->adj_list.lower);
  }
  
                                           &upper_dev->adj_list.lower);
  }
  
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  static int __netdev_upper_dev_link(struct net_device *dev,
                                   struct net_device *upper_dev, bool master,
                                   void *private)
  static int __netdev_upper_dev_link(struct net_device *dev,
                                   struct net_device *upper_dev, bool master,
                                   void *private)
-@@ -5420,6 +5465,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5425,6 +5470,7 @@ static int __netdev_upper_dev_link(struc
                        goto rollback_lower_mesh;
        }
  
                        goto rollback_lower_mesh;
        }
  
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &changeupper_info.info);
        return 0;
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &changeupper_info.info);
        return 0;
-@@ -5546,6 +5592,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5551,6 +5597,7 @@ void netdev_upper_dev_unlink(struct net_
        list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
                __netdev_adjacent_dev_unlink(dev, i->dev);
  
        list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
                __netdev_adjacent_dev_unlink(dev, i->dev);
  
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &changeupper_info.info);
  }
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &changeupper_info.info);
  }
-@@ -6086,6 +6133,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6091,6 +6138,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
index 719275b540a3da30d7065420101b2e6d7497ada9..c5993564a0d9d239e10c64c7bc9000b81ee9c69d 100644 (file)
@@ -86,7 +86,7 @@
        help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
        help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -2708,10 +2708,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -2713,10 +2713,20 @@ static int xmit_one(struct sk_buff *skb,
        if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
                dev_queue_xmit_nit(skb, dev);
  
        if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
                dev_queue_xmit_nit(skb, dev);
  
index f6ef9ce1a7dad2c0beab4fccdd8e8b8428acecc5..1740d741791311e9909becd27121a2827858550c 100644 (file)
@@ -74,7 +74,7 @@
   * @dev: device the buffer will be used with
 --- a/include/linux/usb.h
 +++ b/include/linux/usb.h
   * @dev: device the buffer will be used with
 --- a/include/linux/usb.h
 +++ b/include/linux/usb.h
-@@ -725,6 +725,7 @@ static inline bool usb_device_no_sg_cons
+@@ -729,6 +729,7 @@ static inline bool usb_device_no_sg_cons
        return udev && udev->bus && udev->bus->no_sg_constraint;
  }
  
        return udev && udev->bus && udev->bus->no_sg_constraint;
  }
  
index 53809d0a8f55fd7318b6e80cc857ee0248d0c3dc..6b97f395ecf28fbb3ed898c96869aa9dfc03cd63 100644 (file)
@@ -441,7 +441,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  {
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
  {
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
-@@ -59,6 +59,8 @@ void (*_dma_cache_wback)(unsigned long s
+@@ -60,6 +60,8 @@ void (*_dma_cache_wback)(unsigned long s
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
index 1310e353729b23e3e064d0c93cd597b6fb3f63ac..5a7cdb0a9a5572802253ae5ac3c741b341289a23 100644 (file)
@@ -20,7 +20,7 @@ Subject: [PATCH 32/36] USB: fix roothub for IFXHCD
  choice
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
  choice
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -4337,7 +4337,7 @@ hub_port_init(struct usb_hub *hub, struc
+@@ -4358,7 +4358,7 @@ hub_port_init(struct usb_hub *hub, struc
                udev->ttport = hdev->ttport;
        } else if (udev->speed != USB_SPEED_HIGH
                        && hdev->speed == USB_SPEED_HIGH) {
                udev->ttport = hdev->ttport;
        } else if (udev->speed != USB_SPEED_HIGH
                        && hdev->speed == USB_SPEED_HIGH) {
index b7905f99a5d5530edf7c7653a0d923370561c7c8..b27cb0b40e14dc58ac278c048349e380373c43ef 100644 (file)
@@ -1266,7 +1266,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  /* ---------  pinconf related code --------- */
  static int xway_pinconf_get(struct pinctrl_dev *pctldev,
                                unsigned pin,
  /* ---------  pinconf related code --------- */
  static int xway_pinconf_get(struct pinctrl_dev *pctldev,
                                unsigned pin,
-@@ -714,10 +1601,7 @@ static struct gpio_chip xway_chip = {
+@@ -715,10 +1602,7 @@ static struct gpio_chip xway_chip = {
  
  
  /* --------- register the pinctrl layer --------- */
  
  
  /* --------- register the pinctrl layer --------- */
@@ -1278,7 +1278,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
        int pin_count;
        const struct ltq_mfp_pin *mfp;
        const struct ltq_pin_group *grps;
        int pin_count;
        const struct ltq_mfp_pin *mfp;
        const struct ltq_pin_group *grps;
-@@ -726,22 +1610,54 @@ static struct pinctrl_xway_soc {
+@@ -727,22 +1611,54 @@ static struct pinctrl_xway_soc {
        unsigned int num_funcs;
        const unsigned *exin;
        unsigned int num_exin;
        unsigned int num_funcs;
        const unsigned *exin;
        unsigned int num_exin;
@@ -1349,7 +1349,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  };
  
  static struct pinctrl_gpio_range xway_gpio_range = {
  };
  
  static struct pinctrl_gpio_range xway_gpio_range = {
-@@ -750,9 +1666,14 @@ static struct pinctrl_gpio_range xway_gp
+@@ -751,9 +1667,14 @@ static struct pinctrl_gpio_range xway_gp
  };
  
  static const struct of_device_id xway_match[] = {
  };
  
  static const struct of_device_id xway_match[] = {
@@ -1367,7 +1367,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
        {},
  };
  MODULE_DEVICE_TABLE(of, xway_match);
        {},
  };
  MODULE_DEVICE_TABLE(of, xway_match);
-@@ -774,7 +1695,7 @@ static int pinmux_xway_probe(struct plat
+@@ -775,7 +1696,7 @@ static int pinmux_xway_probe(struct plat
        if (match)
                xway_soc = (const struct pinctrl_xway_soc *) match->data;
        else
        if (match)
                xway_soc = (const struct pinctrl_xway_soc *) match->data;
        else
index 104736c7c0992df0dd920a685f90a58720d8aca5..ed25042f95146dafef485b2eb7b622013422f42e 100644 (file)
@@ -17,9 +17,9 @@
        depends on MFD_WM831X
 --- a/drivers/power/Makefile
 +++ b/drivers/power/Makefile
        depends on MFD_WM831X
 --- a/drivers/power/Makefile
 +++ b/drivers/power/Makefile
-@@ -10,6 +10,7 @@ obj-$(CONFIG_GENERIC_ADC_BATTERY)    += gen
- obj-$(CONFIG_PDA_POWER)               += pda_power.o
+@@ -11,6 +11,7 @@ obj-$(CONFIG_PDA_POWER)              += pda_power.o
  obj-$(CONFIG_APM_POWER)               += apm_power.o
  obj-$(CONFIG_APM_POWER)               += apm_power.o
+ obj-$(CONFIG_AXP20X_POWER)    += axp20x_usb_power.o
  obj-$(CONFIG_MAX8925_POWER)   += max8925_power.o
 +obj-$(CONFIG_MXS_POWER)               += mxs_power.o
  obj-$(CONFIG_WM831X_BACKUP)   += wm831x_backup.o
  obj-$(CONFIG_MAX8925_POWER)   += max8925_power.o
 +obj-$(CONFIG_MXS_POWER)               += mxs_power.o
  obj-$(CONFIG_WM831X_BACKUP)   += wm831x_backup.o
index 4690b3c6d450d4dab176d29bf700baa7e6328be9..cb658c9aeeb47e5fc5709109c0253c27032e008c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/regulator/Kconfig
 +++ b/drivers/regulator/Kconfig
 --- a/drivers/regulator/Kconfig
 +++ b/drivers/regulator/Kconfig
-@@ -450,6 +450,14 @@ config REGULATOR_MT6397
+@@ -461,6 +461,14 @@ config REGULATOR_MT6397
          This driver supports the control of different power rails of device
          through regulator interface.
  
          This driver supports the control of different power rails of device
          through regulator interface.
  
        depends on MFD_PALMAS
 --- a/drivers/regulator/Makefile
 +++ b/drivers/regulator/Makefile
        depends on MFD_PALMAS
 --- a/drivers/regulator/Makefile
 +++ b/drivers/regulator/Makefile
-@@ -60,6 +60,7 @@ obj-$(CONFIG_REGULATOR_MC13783) += mc137
- obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o
+@@ -61,6 +61,7 @@ obj-$(CONFIG_REGULATOR_MC13892) += mc138
  obj-$(CONFIG_REGULATOR_MC13XXX_CORE) +=  mc13xxx-regulator-core.o
  obj-$(CONFIG_REGULATOR_MC13XXX_CORE) +=  mc13xxx-regulator-core.o
+ obj-$(CONFIG_REGULATOR_MT6311) += mt6311-regulator.o
  obj-$(CONFIG_REGULATOR_MT6397)        += mt6397-regulator.o
 +obj-$(CONFIG_REGULATOR_MXS) += mxs-regulator.o
  obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o
  obj-$(CONFIG_REGULATOR_MT6397)        += mt6397-regulator.o
 +obj-$(CONFIG_REGULATOR_MXS) += mxs-regulator.o
  obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o
- obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o
- obj-$(CONFIG_REGULATOR_PFUZE100) += pfuze100-regulator.o
+ obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o
+ obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o
 --- /dev/null
 +++ b/drivers/regulator/mxs-regulator.c
 @@ -0,0 +1,540 @@
 --- /dev/null
 +++ b/drivers/regulator/mxs-regulator.c
 @@ -0,0 +1,540 @@
index bfcf247f851286f10e176d8451e6ee29791279d9..39ea0350f390629dfca5320ec7959edbefd3746b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm/boot/dts/imx23.dtsi
 +++ b/arch/arm/boot/dts/imx23.dtsi
 --- a/arch/arm/boot/dts/imx23.dtsi
 +++ b/arch/arm/boot/dts/imx23.dtsi
-@@ -404,8 +404,46 @@
+@@ -439,8 +439,46 @@
                        };
  
                        power@80044000 {
                        };
  
                        power@80044000 {
@@ -50,7 +50,7 @@
                        saif1: saif@80046000 {
 --- a/arch/arm/boot/dts/imx28.dtsi
 +++ b/arch/arm/boot/dts/imx28.dtsi
                        saif1: saif@80046000 {
 --- a/arch/arm/boot/dts/imx28.dtsi
 +++ b/arch/arm/boot/dts/imx28.dtsi
-@@ -1035,8 +1035,46 @@
+@@ -1037,8 +1037,46 @@
                        };
  
                        power: power@80044000 {
                        };
  
                        power: power@80044000 {
index 5aa3d7dc3617f63967ae10aafe9111ad094e7a80..d23e7c856933e005cf04339a3f8cbe1e22fc6a9c 100644 (file)
@@ -21,11 +21,9 @@ Changes since v2:
  drivers/crypto/mxs-dcp.c | 24 ++++++++++++++++++++++++
  1 file changed, 24 insertions(+)
 
  drivers/crypto/mxs-dcp.c | 24 ++++++++++++++++++++++++
  1 file changed, 24 insertions(+)
 
-diff --git a/drivers/crypto/mxs-dcp.c b/drivers/crypto/mxs-dcp.c
-index 59ed54e..1e2017f 100644
 --- a/drivers/crypto/mxs-dcp.c
 +++ b/drivers/crypto/mxs-dcp.c
 --- a/drivers/crypto/mxs-dcp.c
 +++ b/drivers/crypto/mxs-dcp.c
-@@ -775,6 +775,24 @@ static void dcp_sha_cra_exit(struct crypto_tfm *tfm)
+@@ -775,6 +775,24 @@ static void dcp_sha_cra_exit(struct cryp
  {
  }
  
  {
  }
  
@@ -62,7 +60,7 @@ index 59ed54e..1e2017f 100644
                .base           = {
                        .cra_name               = "sha1",
                        .cra_driver_name        = "sha1-dcp",
                .base           = {
                        .cra_name               = "sha1",
                        .cra_driver_name        = "sha1-dcp",
-@@ -858,8 +879,11 @@ static struct ahash_alg dcp_sha256_alg = {
+@@ -858,8 +879,11 @@ static struct ahash_alg dcp_sha256_alg =
        .final  = dcp_sha_final,
        .finup  = dcp_sha_finup,
        .digest = dcp_sha_digest,
        .final  = dcp_sha_final,
        .finup  = dcp_sha_finup,
        .digest = dcp_sha_digest,
@@ -74,7 +72,3 @@ index 59ed54e..1e2017f 100644
                .base           = {
                        .cra_name               = "sha256",
                        .cra_driver_name        = "sha256-dcp",
                .base           = {
                        .cra_name               = "sha256",
                        .cra_driver_name        = "sha256-dcp",
--- 
-1.9.1
-
---
index 374f9b96f357de61a72dd1272b8999f601145daa..edc23b70a1a4a6aeab0f270dfa3f8133d044e6d3 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/pci/host/Kconfig
 +++ b/drivers/pci/host/Kconfig
 --- a/drivers/pci/host/Kconfig
 +++ b/drivers/pci/host/Kconfig
-@@ -172,4 +172,9 @@ config PCI_HISI
+@@ -173,4 +173,9 @@ config PCI_HISI
        help
          Say Y here if you want PCIe controller support on HiSilicon HIP05 SoC
  
        help
          Say Y here if you want PCIe controller support on HiSilicon HIP05 SoC
  
diff --git a/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch b/target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch
deleted file mode 100644 (file)
index 261a19d..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From 4f9ea86604e3ba64edd2817795798168fbb3c1a6 Mon Sep 17 00:00:00 2001
-From: LABBE Corentin <clabbe.montjoie@gmail.com>
-Date: Mon, 16 Nov 2015 09:35:54 +0100
-Subject: [PATCH] crypto: sun4i-ss - add missing statesize
-
-sun4i-ss implementaton of md5/sha1 is via ahash algorithms.
-Commit 8996eafdcbad ("crypto: ahash - ensure statesize is non-zero")
-made impossible to load them without giving statesize. This patch
-specifiy statesize for sha1 and md5.
-
-Fixes: 6298e948215f ("crypto: sunxi-ss - Add Allwinner Security System crypto accelerator")
-Cc: <stable@vger.kernel.org> # v4.3+
-Tested-by: Chen-Yu Tsai <wens@csie.org>
-Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
----
- drivers/crypto/sunxi-ss/sun4i-ss-core.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/crypto/sunxi-ss/sun4i-ss-core.c
-+++ b/drivers/crypto/sunxi-ss/sun4i-ss-core.c
-@@ -39,6 +39,7 @@ static struct sun4i_ss_alg_template ss_a
-               .import = sun4i_hash_import_md5,
-               .halg = {
-                       .digestsize = MD5_DIGEST_SIZE,
-+                      .statesize = sizeof(struct md5_state),
-                       .base = {
-                               .cra_name = "md5",
-                               .cra_driver_name = "md5-sun4i-ss",
-@@ -66,6 +67,7 @@ static struct sun4i_ss_alg_template ss_a
-               .import = sun4i_hash_import_sha1,
-               .halg = {
-                       .digestsize = SHA1_DIGEST_SIZE,
-+                      .statesize = sizeof(struct sha1_state),
-                       .base = {
-                               .cra_name = "sha1",
-                               .cra_driver_name = "sha1-sun4i-ss",
index 297f6d528f34149421be2c1971137c07f7933664..2ffab6bbfb6bfed596d1f72ccf1db00f06c02d4d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/scripts/link-vmlinux.sh
 +++ b/scripts/link-vmlinux.sh
 --- a/scripts/link-vmlinux.sh
 +++ b/scripts/link-vmlinux.sh
-@@ -62,7 +62,7 @@
+@@ -62,7 +62,7 @@ vmlinux_link()
                        -Wl,--start-group                                    \
                                 ${KBUILD_VMLINUX_MAIN}                      \
                        -Wl,--end-group                                      \
                        -Wl,--start-group                                    \
                                 ${KBUILD_VMLINUX_MAIN}                      \
                        -Wl,--end-group                                      \
index 98f04f4a6216da48122304324886831ef374c24f..879b106bfac784388d2baf54cb5177cbc6378c83 100644 (file)
@@ -17,7 +17,7 @@
 #
 --- a/arch/um/drivers/mconsole.h
 +++ b/arch/um/drivers/mconsole.h
 #
 --- a/arch/um/drivers/mconsole.h
 +++ b/arch/um/drivers/mconsole.h
-@@ -85,6 +85,7 @@
+@@ -85,6 +85,7 @@ extern void mconsole_cad(struct mc_reque
  extern void mconsole_stop(struct mc_request *req);
  extern void mconsole_go(struct mc_request *req);
  extern void mconsole_log(struct mc_request *req);
  extern void mconsole_stop(struct mc_request *req);
  extern void mconsole_go(struct mc_request *req);
  extern void mconsole_log(struct mc_request *req);
@@ -43,7 +43,7 @@
  #include <asm/uaccess.h>
  #include <asm/switch_to.h>
  
  #include <asm/uaccess.h>
  #include <asm/switch_to.h>
  
-@@ -121,6 +123,59 @@
+@@ -121,6 +123,59 @@ void mconsole_log(struct mc_request *req
        mconsole_reply(req, "", 0, 0);
  }
  
        mconsole_reply(req, "", 0, 0);
  }
  
  void mconsole_proc(struct mc_request *req)
  {
        struct vfsmount *mnt = task_active_pid_ns(current)->proc_mnt;
  void mconsole_proc(struct mc_request *req)
  {
        struct vfsmount *mnt = task_active_pid_ns(current)->proc_mnt;
-@@ -187,6 +242,7 @@
+@@ -187,6 +242,7 @@ void mconsole_proc(struct mc_request *re
      stop - pause the UML; it will do nothing until it receives a 'go' \n\
      go - continue the UML after a 'stop' \n\
      log <string> - make UML enter <string> into the kernel log\n\
      stop - pause the UML; it will do nothing until it receives a 'go' \n\
      go - continue the UML after a 'stop' \n\
      log <string> - make UML enter <string> into the kernel log\n\
  "
 --- a/arch/um/drivers/mconsole_user.c
 +++ b/arch/um/drivers/mconsole_user.c
  "
 --- a/arch/um/drivers/mconsole_user.c
 +++ b/arch/um/drivers/mconsole_user.c
-@@ -30,6 +30,7 @@
+@@ -30,6 +30,7 @@ static struct mconsole_command commands[
        { "stop", mconsole_stop, MCONSOLE_PROC },
        { "go", mconsole_go, MCONSOLE_INTR },
        { "log", mconsole_log, MCONSOLE_INTR },
        { "stop", mconsole_stop, MCONSOLE_PROC },
        { "go", mconsole_go, MCONSOLE_INTR },
        { "log", mconsole_log, MCONSOLE_INTR },
  };
 --- a/arch/um/os-Linux/file.c
 +++ b/arch/um/os-Linux/file.c
  };
 --- a/arch/um/os-Linux/file.c
 +++ b/arch/um/os-Linux/file.c
-@@ -535,6 +535,8 @@
+@@ -535,6 +535,8 @@ int os_create_unix_socket(const char *fi
  
        addr.sun_family = AF_UNIX;
  
  
        addr.sun_family = AF_UNIX;
  
        err = bind(sock, (struct sockaddr *) &addr, sizeof(addr));
 --- a/include/linux/kmod.h
 +++ b/include/linux/kmod.h
        err = bind(sock, (struct sockaddr *) &addr, sizeof(addr));
 --- a/include/linux/kmod.h
 +++ b/include/linux/kmod.h
-@@ -62,6 +62,7 @@
+@@ -62,6 +62,7 @@ struct subprocess_info {
        int wait;
        int retval;
        int (*init)(struct subprocess_info *info, struct cred *new);
        int wait;
        int retval;
        int (*init)(struct subprocess_info *info, struct cred *new);
        void (*cleanup)(struct subprocess_info *info);
        void *data;
  };
        void (*cleanup)(struct subprocess_info *info);
        void *data;
  };
-@@ -102,4 +103,6 @@
+@@ -102,4 +103,6 @@ extern int usermodehelper_read_trylock(v
  extern long usermodehelper_read_lock_wait(long timeout);
  extern void usermodehelper_read_unlock(void);
  
  extern long usermodehelper_read_lock_wait(long timeout);
  extern void usermodehelper_read_unlock(void);
  
  #include <asm/uaccess.h>
  
  #include <trace/events/module.h>
  #include <asm/uaccess.h>
  
  #include <trace/events/module.h>
-@@ -222,6 +223,28 @@
+@@ -222,6 +223,28 @@ static int call_usermodehelper_exec_asyn
        flush_signal_handlers(current, 1);
        spin_unlock_irq(&current->sighand->siglock);
  
        flush_signal_handlers(current, 1);
        spin_unlock_irq(&current->sighand->siglock);
  
        /*
         * Our parent (unbound workqueue) runs with elevated scheduling
         * priority. Avoid propagating that into the userspace child.
        /*
         * Our parent (unbound workqueue) runs with elevated scheduling
         * priority. Avoid propagating that into the userspace child.
-@@ -540,6 +563,20 @@
+@@ -540,6 +563,20 @@ struct subprocess_info *call_usermodehel
  }
  EXPORT_SYMBOL(call_usermodehelper_setup);
  
  }
  EXPORT_SYMBOL(call_usermodehelper_setup);
  
index 57598f996457add2f22ca2f4237407a6be28390a..fc54f603c03dfcbbc7c710bb3bc088b8c75c1567 100644 (file)
@@ -11,7 +11,7 @@ Applies to vanilla kernel 3.9.4.
 ===============================================================================
 --- a/arch/um/Kconfig.net
 +++ b/arch/um/Kconfig.net
 ===============================================================================
 --- a/arch/um/Kconfig.net
 +++ b/arch/um/Kconfig.net
-@@ -21,6 +21,19 @@
+@@ -21,6 +21,19 @@ config UML_NET
          enable at least one of the following transport options to actually
          make use of UML networking.
  
          enable at least one of the following transport options to actually
          make use of UML networking.
  
@@ -47,7 +47,7 @@ Applies to vanilla kernel 3.9.4.
  #define DRIVER_NAME "uml-netdev"
  
  static DEFINE_SPINLOCK(opened_lock);
  #define DRIVER_NAME "uml-netdev"
  
  static DEFINE_SPINLOCK(opened_lock);
-@@ -295,11 +302,47 @@
+@@ -295,11 +302,47 @@ static void uml_net_user_timer_expire(un
  #endif
  }
  
  #endif
  }
  
@@ -95,7 +95,7 @@ Applies to vanilla kernel 3.9.4.
  
        if (str == NULL)
                goto random;
  
        if (str == NULL)
                goto random;
-@@ -340,9 +383,26 @@
+@@ -340,9 +383,26 @@ static void setup_etheraddr(struct net_d
        return;
  
  random:
        return;
  
  random:
index af603a1fe7b8d561d9a53a2fce1a7e4aec9168bd..ef47c5ffd0ef750ecfbf05e5e22171fbf4961b77 100644 (file)
@@ -5,19 +5,14 @@ Subject: [PATCH] arm: dts: zynq-zc702.dts: Set default rdinit to /sbin/init
 
 Signed-off-by: Jason Wu <jason.wu.misc@gmail.com>
 
 
 Signed-off-by: Jason Wu <jason.wu.misc@gmail.com>
 
-diff --git a/arch/arm/boot/dts/zynq-zc702.dts b/arch/arm/boot/dts/zynq-zc702.dts
-index 68bd8c1..adf9a1d 100644
 --- a/arch/arm/boot/dts/zynq-zc702.dts
 +++ b/arch/arm/boot/dts/zynq-zc702.dts
 --- a/arch/arm/boot/dts/zynq-zc702.dts
 +++ b/arch/arm/boot/dts/zynq-zc702.dts
-@@ -31,7 +31,7 @@
-       };
-
-       chosen {
+@@ -30,7 +30,7 @@
+       };
+       chosen {
 -              bootargs = "earlyprintk";
 +              bootargs = "earlyprintk rdinit=/sbin/init";
 -              bootargs = "earlyprintk";
 +              bootargs = "earlyprintk rdinit=/sbin/init";
-               stdout-path = "serial0:115200n8";
-       };
-
---
-1.9.1
-
+               stdout-path = "serial0:115200n8";
+       };