kernel: update 3.18 to 3.18.21

Changelog:
 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.21

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46768
This commit is contained in:
Jonas Gorski 2015-09-02 10:18:15 +00:00
parent 7747092ed1
commit 7d6cff4882
20 changed files with 45 additions and 80 deletions

View File

@ -2,11 +2,11 @@
LINUX_RELEASE?=1 LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .20 LINUX_VERSION-3.18 = .21
LINUX_VERSION-4.0 = .9 LINUX_VERSION-4.0 = .9
LINUX_VERSION-4.1 = .6 LINUX_VERSION-4.1 = .6
LINUX_KERNEL_MD5SUM-3.18.20 = 952c9159acdf4efbc96e08a27109d994 LINUX_KERNEL_MD5SUM-3.18.21 = e4248caaa4cef318c04657e971b37298
LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b
LINUX_KERNEL_MD5SUM-4.1.6 = 1dae0c808e34164cab3dfd57be88bd53 LINUX_KERNEL_MD5SUM-4.1.6 = 1dae0c808e34164cab3dfd57be88bd53

View File

@ -212,7 +212,7 @@ The correct baudrate is shown in the log after the cdiv > 0xffff correction.
static void timer_set_mode(enum clock_event_mode mode, static void timer_set_mode(enum clock_event_mode mode,
--- a/drivers/i2c/busses/Kconfig --- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig
@@ -371,6 +371,25 @@ config I2C_BCM2835 @@ -372,6 +372,25 @@ config I2C_BCM2835
This support is also available as a module. If so, the module This support is also available as a module. If so, the module
will be called i2c-bcm2835. will be called i2c-bcm2835.

View File

@ -147,7 +147,7 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
bcm_register_device(&bcm2835_thermal_device); bcm_register_device(&bcm2835_thermal_device);
--- a/drivers/i2c/busses/Kconfig --- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig
@@ -361,7 +361,7 @@ config I2C_AXXIA @@ -362,7 +362,7 @@ config I2C_AXXIA
config I2C_BCM2835 config I2C_BCM2835
tristate "Broadcom BCM2835 I2C controller" tristate "Broadcom BCM2835 I2C controller"

View File

@ -9352,7 +9352,7 @@ Subject: [PATCH 089/114] Add 2709 platform for Raspberry Pi 2
--- a/drivers/i2c/busses/Kconfig --- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig
@@ -361,7 +361,7 @@ config I2C_AXXIA @@ -362,7 +362,7 @@ config I2C_AXXIA
config I2C_BCM2835 config I2C_BCM2835
tristate "Broadcom BCM2835 I2C controller" tristate "Broadcom BCM2835 I2C controller"
@ -9361,7 +9361,7 @@ Subject: [PATCH 089/114] Add 2709 platform for Raspberry Pi 2
help help
If you say yes to this option, support will be included for the If you say yes to this option, support will be included for the
BCM2835 I2C controller. BCM2835 I2C controller.
@@ -373,7 +373,7 @@ config I2C_BCM2835 @@ -374,7 +374,7 @@ config I2C_BCM2835
config I2C_BCM2708 config I2C_BCM2708
tristate "BCM2708 BSC" tristate "BCM2708 BSC"

View File

@ -242,7 +242,7 @@
#endif /* _ASM_R4KCACHE_H */ #endif /* _ASM_R4KCACHE_H */
--- a/arch/mips/include/asm/stackframe.h --- a/arch/mips/include/asm/stackframe.h
+++ b/arch/mips/include/asm/stackframe.h +++ b/arch/mips/include/asm/stackframe.h
@@ -333,6 +333,10 @@ @@ -358,6 +358,10 @@
.macro RESTORE_SP_AND_RET .macro RESTORE_SP_AND_RET
LONG_L sp, PT_R29(sp) LONG_L sp, PT_R29(sp)
.set arch=r4000 .set arch=r4000

View File

@ -1,9 +1,9 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2168,6 +2168,60 @@ static struct board_info __initdata boar @@ -2168,6 +2168,60 @@ static struct board_info __initdata boar
}, },
}; };
+static struct sprom_fixup __initdata vr3026e_fixups[] = { +static struct sprom_fixup __initdata vr3026e_fixups[] = {
+ { .offset = 97, .value = 0xfeb3 }, + { .offset = 97, .value = 0xfeb3 },
+ { .offset = 98, .value = 0x1618 }, + { .offset = 98, .value = 0x1618 },
@ -59,21 +59,21 @@
+}; +};
+ +
static struct b53_platform_data WAP5813n_b53_pdata = { static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0", .alias = "eth0",
}; };
@@ -2472,6 +2526,7 @@ static const struct board_info __initcon @@ -2472,6 +2526,7 @@ static const struct board_info __initcon
&board_P870HW51A_V2, &board_P870HW51A_V2,
&board_VR3025u, &board_VR3025u,
&board_VR3025un, &board_VR3025un,
+ &board_VR3026e, + &board_VR3026e,
&board_WAP5813n, &board_WAP5813n,
#endif #endif
#ifdef CONFIG_BCM63XX_CPU_63268 #ifdef CONFIG_BCM63XX_CPU_63268
@@ -2572,6 +2627,7 @@ static struct of_device_id const bcm963x @@ -2572,6 +2627,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, }, { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, }, { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, }, { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
+ { .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, }, + { .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, }, { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
{ .compatible = "huawei,hg655b", .data = &board_HG655b, }, { .compatible = "huawei,hg655b", .data = &board_HG655b, },
{ .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, }, { .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, },

View File

@ -1,6 +1,6 @@
--- a/drivers/i2c/busses/Kconfig --- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig
@@ -416,6 +416,18 @@ config I2C_CBUS_GPIO @@ -417,6 +417,18 @@ config I2C_CBUS_GPIO
This driver can also be built as a module. If so, the module This driver can also be built as a module. If so, the module
will be called i2c-cbus-gpio. will be called i2c-cbus-gpio.

View File

@ -1,35 +0,0 @@
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 19 Jul 2015 00:21:57 +0200
Subject: [PATCH] MIPS: kernel: fix sched_getaffinity with MT FPAFF enabled
p->thread.user_cpus_allowed is zero-initialized and is only filled on
the first sched_setaffinity call.
To avoid adding overhead in the task initialization codepath, simply OR
the returned mask in sched_getaffinity with p->cpus_allowed.
Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
--- a/arch/mips/kernel/mips-mt-fpaff.c
+++ b/arch/mips/kernel/mips-mt-fpaff.c
@@ -154,7 +154,7 @@ asmlinkage long mipsmt_sys_sched_getaffi
unsigned long __user *user_mask_ptr)
{
unsigned int real_len;
- cpumask_t mask;
+ cpumask_t allowed, mask;
int retval;
struct task_struct *p;
@@ -173,7 +173,8 @@ asmlinkage long mipsmt_sys_sched_getaffi
if (retval)
goto out_unlock;
- cpumask_and(&mask, &p->thread.user_cpus_allowed, cpu_possible_mask);
+ cpumask_or(&allowed, &p->thread.user_cpus_allowed, &p->cpus_allowed);
+ cpumask_and(&mask, &allowed, cpu_active_mask);
out_unlock:
read_unlock(&tasklist_lock);

View File

@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/** /**
* ata_build_rw_tf - Build ATA taskfile for given read/write request * ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile * @tf: Target ATA taskfile
@@ -4761,6 +4774,9 @@ static struct ata_queued_cmd *ata_qc_new @@ -4798,6 +4811,9 @@ static struct ata_queued_cmd *ata_qc_new
break; break;
} }
} }
@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
return qc; return qc;
} }
@@ -5671,6 +5687,9 @@ struct ata_port *ata_port_alloc(struct a @@ -5708,6 +5724,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1; ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1; ap->stats.idle_irq = 1;
#endif #endif
@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap); ata_sff_port_init(ap);
return ap; return ap;
@@ -5692,6 +5711,12 @@ static void ata_host_release(struct devi @@ -5729,6 +5748,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link); kfree(ap->pmp_link);
kfree(ap->slave_link); kfree(ap->slave_link);
@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
kfree(ap); kfree(ap);
host->ports[i] = NULL; host->ports[i] = NULL;
} }
@@ -6138,7 +6163,23 @@ int ata_host_register(struct ata_host *h @@ -6175,7 +6200,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1; host->ports[i]->local_port_no = i + 1;
} }
@ -138,7 +138,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/* /*
* Define if arch has non-standard setup. This is a _PCI_ standard * Define if arch has non-standard setup. This is a _PCI_ standard
@@ -872,6 +875,12 @@ struct ata_port { @@ -874,6 +877,12 @@ struct ata_port {
#ifdef CONFIG_ATA_ACPI #ifdef CONFIG_ATA_ACPI
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */ struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
#endif #endif

View File

@ -1,6 +1,6 @@
--- a/init/main.c --- a/init/main.c
+++ b/init/main.c +++ b/init/main.c
@@ -962,7 +962,8 @@ static int __ref kernel_init(void *unuse @@ -963,7 +963,8 @@ static int __ref kernel_init(void *unuse
pr_err("Failed to execute %s (error %d). Attempting defaults...\n", pr_err("Failed to execute %s (error %d). Attempting defaults...\n",
execute_command, ret); execute_command, ret);
} }

View File

@ -18,7 +18,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/i2c/busses/Kconfig --- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig
@@ -553,6 +553,16 @@ config I2C_KEMPLD @@ -554,6 +554,16 @@ config I2C_KEMPLD
This driver can also be built as a module. If so, the module This driver can also be built as a module. If so, the module
will be called i2c-kempld. will be called i2c-kempld.

View File

@ -164,7 +164,7 @@
enum mtd_parser_type type, enum mtd_parser_type type,
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -627,7 +627,7 @@ out_register: @@ -628,7 +628,7 @@ out_register:
} }
@ -173,7 +173,7 @@
__mtd_add_partition(struct mtd_info *master, const char *name, __mtd_add_partition(struct mtd_info *master, const char *name,
long long offset, long long length, bool dup_check) long long offset, long long length, bool dup_check)
{ {
@@ -748,7 +748,7 @@ run_parsers_by_type(struct mtd_part *sla @@ -749,7 +749,7 @@ run_parsers_by_type(struct mtd_part *sla
return nr_parts; return nr_parts;
} }
@ -182,7 +182,7 @@
mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len) mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len)
{ {
unsigned long mask = mtd->erasesize - 1; unsigned long mask = mtd->erasesize - 1;
@@ -818,7 +818,6 @@ static void split_uimage(struct mtd_info @@ -819,7 +819,6 @@ static void split_uimage(struct mtd_info
return; return;
len = be32_to_cpu(hdr.size) + 0x40; len = be32_to_cpu(hdr.size) + 0x40;

View File

@ -1,6 +1,6 @@
--- a/drivers/phy/Kconfig --- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig +++ b/drivers/phy/Kconfig
@@ -239,6 +239,11 @@ @@ -239,6 +239,11 @@ config PHY_XGENE
help help
This option enables support for APM X-Gene SoC multi-purpose PHY. This option enables support for APM X-Gene SoC multi-purpose PHY.
@ -14,7 +14,7 @@
depends on RESET_CONTROLLER depends on RESET_CONTROLLER
--- a/drivers/phy/Makefile --- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile +++ b/drivers/phy/Makefile
@@ -31,3 +31,4 @@ @@ -31,3 +31,4 @@ obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) +=
obj-$(CONFIG_PHY_XGENE) += phy-xgene.o obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o

View File

@ -45,7 +45,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+}; +};
--- a/drivers/i2c/busses/Kconfig --- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig
@@ -710,6 +710,10 @@ config I2C_RK3X @@ -711,6 +711,10 @@ config I2C_RK3X
This driver can also be built as a module. If so, the module will This driver can also be built as a module. If so, the module will
be called i2c-rk3x. be called i2c-rk3x.

View File

@ -219,7 +219,7 @@
{ {
--- a/arch/mips/ralink/mt7621.c --- a/arch/mips/ralink/mt7621.c
+++ b/arch/mips/ralink/mt7621.c +++ b/arch/mips/ralink/mt7621.c
@@ -176,6 +176,7 @@ void prom_soc_init(struct ralink_soc_inf @@ -193,6 +193,7 @@ void prom_soc_init(struct ralink_soc_inf
soc_info->mem_size_min = MT7621_DDR2_SIZE_MIN; soc_info->mem_size_min = MT7621_DDR2_SIZE_MIN;
soc_info->mem_size_max = MT7621_DDR2_SIZE_MAX; soc_info->mem_size_max = MT7621_DDR2_SIZE_MAX;
soc_info->mem_base = MT7621_DRAM_BASE; soc_info->mem_base = MT7621_DRAM_BASE;

View File

@ -5546,7 +5546,7 @@
ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs); ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs);
new_add_flags = le32_to_cpu(ctrl_ctx->add_flags); new_add_flags = le32_to_cpu(ctrl_ctx->add_flags);
@@ -4451,8 +4597,14 @@ static u16 xhci_call_host_update_timeout @@ -4454,8 +4600,14 @@ static u16 xhci_call_host_update_timeout
u16 *timeout) u16 *timeout)
{ {
if (state == USB3_LPM_U1) if (state == USB3_LPM_U1)
@ -5561,7 +5561,7 @@
return xhci_calculate_u2_timeout(xhci, udev, desc); return xhci_calculate_u2_timeout(xhci, udev, desc);
return USB3_LPM_DISABLED; return USB3_LPM_DISABLED;
@@ -4837,7 +4989,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, @@ -4840,7 +4992,9 @@ int xhci_gen_setup(struct usb_hcd *hcd,
hcd->self.no_sg_constraint = 1; hcd->self.no_sg_constraint = 1;
/* XHCI controllers don't stop the ep queue on short packets :| */ /* XHCI controllers don't stop the ep queue on short packets :| */
@ -5571,7 +5571,7 @@
if (usb_hcd_is_primary_hcd(hcd)) { if (usb_hcd_is_primary_hcd(hcd)) {
xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL); xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL);
@@ -4900,6 +5054,10 @@ int xhci_gen_setup(struct usb_hcd *hcd, @@ -4903,6 +5057,10 @@ int xhci_gen_setup(struct usb_hcd *hcd,
goto error; goto error;
xhci_dbg(xhci, "Reset complete\n"); xhci_dbg(xhci, "Reset complete\n");
@ -5582,7 +5582,7 @@
/* Set dma_mask and coherent_dma_mask to 64-bits, /* Set dma_mask and coherent_dma_mask to 64-bits,
* if xHC supports 64-bit addressing */ * if xHC supports 64-bit addressing */
if (HCC_64BIT_ADDR(xhci->hcc_params) && if (HCC_64BIT_ADDR(xhci->hcc_params) &&
@@ -4994,8 +5152,57 @@ MODULE_DESCRIPTION(DRIVER_DESC); @@ -4997,8 +5155,57 @@ MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");

View File

@ -1,6 +1,6 @@
--- a/arch/mips/kernel/setup.c --- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c
@@ -675,7 +675,6 @@ @@ -675,7 +675,6 @@ static void __init arch_mem_init(char **
crashk_res.end - crashk_res.start + 1, crashk_res.end - crashk_res.start + 1,
BOOTMEM_DEFAULT); BOOTMEM_DEFAULT);
#endif #endif
@ -8,7 +8,7 @@
sparse_init(); sparse_init();
plat_swiotlb_setup(); plat_swiotlb_setup();
paging_init(); paging_init();
@@ -784,6 +783,7 @@ @@ -784,6 +783,7 @@ void __init setup_arch(char **cmdline_p)
prefill_possible_map(); prefill_possible_map();
cpu_cache_init(); cpu_cache_init();

View File

@ -1,6 +1,6 @@
--- a/drivers/i2c/busses/Kconfig --- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig
@@ -714,6 +714,10 @@ config I2C_RALINK @@ -715,6 +715,10 @@ config I2C_RALINK
tristate "Ralink I2C Controller" tristate "Ralink I2C Controller"
select OF_I2C select OF_I2C

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -818,9 +818,6 @@ static void split_uimage(struct mtd_info @@ -819,9 +819,6 @@ static void split_uimage(struct mtd_info
return; return;
len = be32_to_cpu(hdr.size) + 0x40; len = be32_to_cpu(hdr.size) + 0x40;

View File

@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -806,8 +806,11 @@ static void split_uimage(struct mtd_info @@ -807,8 +807,11 @@ static void split_uimage(struct mtd_info
{ {
struct { struct {
__be32 magic; __be32 magic;
@ -13,7 +13,7 @@
} hdr; } hdr;
size_t len; size_t len;
@@ -817,7 +820,10 @@ static void split_uimage(struct mtd_info @@ -818,7 +821,10 @@ static void split_uimage(struct mtd_info
if (len != sizeof(hdr) || hdr.magic != cpu_to_be32(UBOOT_MAGIC)) if (len != sizeof(hdr) || hdr.magic != cpu_to_be32(UBOOT_MAGIC))
return; return;