kernel: update 4.1 to 4.1.6

Changelog:
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.6

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

SVN-Revision: 46713
This commit is contained in:
Jonas Gorski 2015-08-23 18:06:11 +00:00
parent 2190f090bb
commit 2d379e796f
11 changed files with 51 additions and 176 deletions

View File

@ -4,11 +4,11 @@ LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .20
LINUX_VERSION-4.0 = .9
LINUX_VERSION-4.1 = .5
LINUX_VERSION-4.1 = .6
LINUX_KERNEL_MD5SUM-3.18.20 = 952c9159acdf4efbc96e08a27109d994
LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b
LINUX_KERNEL_MD5SUM-4.1.5 = f23e1d4ce8f63e46db81d56e36281885
LINUX_KERNEL_MD5SUM-4.1.6 = 1dae0c808e34164cab3dfd57be88bd53
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c
@@ -236,6 +236,8 @@ void __init plat_time_init(void)
@@ -237,6 +237,8 @@ void __init plat_time_init(void)
mips_hpt_frequency = cpu_clk_rate / 2;
}

View File

@ -1,8 +1,6 @@
Index: linux-4.1.4/arch/mips/ath79/Kconfig
===================================================================
--- linux-4.1.4.orig/arch/mips/ath79/Kconfig 2015-08-10 16:28:12.409834069 +0100
+++ linux-4.1.4/arch/mips/ath79/Kconfig 2015-08-10 16:30:16.341831945 +0100
@@ -904,6 +904,16 @@
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -904,6 +904,16 @@ config ATH79_MACH_EAP7660D
select ATH79_DEV_LEDS_GPIO
select ATH79_DEV_M25P80
@ -19,11 +17,9 @@ Index: linux-4.1.4/arch/mips/ath79/Kconfig
config ATH79_MACH_ARCHER_C7
bool "TP-LINK Archer C5/C7/TL-WDR4900 v2 board support"
select SOC_QCA955X
Index: linux-4.1.4/arch/mips/ath79/Makefile
===================================================================
--- linux-4.1.4.orig/arch/mips/ath79/Makefile 2015-08-10 16:28:12.409834069 +0100
+++ linux-4.1.4/arch/mips/ath79/Makefile 2015-08-10 16:30:39.985831540 +0100
@@ -56,6 +56,7 @@
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
@@ -56,6 +56,7 @@ obj-$(CONFIG_ATH79_MACH_AP96) += mach-a
obj-$(CONFIG_ATH79_MACH_ARCHER_C7) += mach-archer-c7.o
obj-$(CONFIG_ATH79_MACH_AW_NR580) += mach-aw-nr580.o
obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)+= mach-bhu-bxu2000n2-a.o
@ -31,11 +27,9 @@ Index: linux-4.1.4/arch/mips/ath79/Makefile
obj-$(CONFIG_ATH79_MACH_CAP4200AG) += mach-cap4200ag.o
obj-$(CONFIG_ATH79_MACH_CPE510) += mach-cpe510.o
obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
Index: linux-4.1.4/arch/mips/ath79/machtypes.h
===================================================================
--- linux-4.1.4.orig/arch/mips/ath79/machtypes.h 2015-08-10 16:28:12.409834069 +0100
+++ linux-4.1.4/arch/mips/ath79/machtypes.h 2015-08-10 16:31:13.693830962 +0100
@@ -39,6 +39,7 @@
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -39,6 +39,7 @@ enum ath79_mach_type {
ATH79_MACH_ARCHER_C7, /* TP-LINK Archer C7 board */
ATH79_MACH_AW_NR580, /* AzureWave AW-NR580 */
ATH79_MACH_BHU_BXU2000N2_A1, /* BHU BXU2000n-2 A1 */

View File

@ -1,6 +1,6 @@
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -1043,6 +1043,17 @@
@@ -1053,6 +1053,17 @@ config ATH79_MACH_TL_WDR4300
select ATH79_DEV_USB
select ATH79_DEV_WMAC
@ -20,7 +20,7 @@
select SOC_AR933X
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
@@ -153,6 +153,7 @@
@@ -154,6 +154,7 @@ enum ath79_mach_type {
ATH79_MACH_TL_WA901ND_V3, /* TP-LINK TL-WA901ND v3 */
ATH79_MACH_TL_WDR3500, /* TP-LINK TL-WDR3500 */
ATH79_MACH_TL_WDR4300, /* TP-LINK TL-WDR4300 */
@ -30,7 +30,7 @@
ATH79_MACH_TL_WR1043ND, /* TP-LINK TL-WR1043ND */
--- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile
@@ -129,6 +129,7 @@
@@ -130,6 +130,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += m
obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o
obj-$(CONFIG_ATH79_MACH_TL_WDR3500) += mach-tl-wdr3500.o
obj-$(CONFIG_ATH79_MACH_TL_WDR4300) += mach-tl-wdr4300.o

View File

@ -242,7 +242,7 @@
#endif /* _ASM_R4KCACHE_H */
--- a/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
LONG_L sp, PT_R29(sp)
.set arch=r4000

View File

@ -1,43 +0,0 @@
From 1b02e59087d3de3953d3fa0536356e3e137bf74b Mon Sep 17 00:00:00 2001
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Tue, 28 Jul 2015 19:24:24 -0700
Subject: [PATCH] Revert "MIPS: BCM63xx: Provide a plat_post_dma_flush hook"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This reverts commit 3cf29543413207d3ab1c3f62a88c09bb46f2264e ("MIPS:
BCM63xx: Provide a plat_post_dma_flush hook") since this commit was
found to prevent BCM6358 (early BMIPS4350 cores) and some BCM6368
(BMIPS4380 cores) from booting reliably.
Alvaro was able to track this down to an issue specifically located to
devices that use the second thread (TP1) when booting. Since BCM63xx did
not have a need for plat_post_dma_flush() hook before, let's just keep
things the way they were.
CC: stable@vger.kernel.org
CC: Kevin Cernekee <cernekee@gmail.com>
CC: Nicolas Schichan <nschichan@freebox.fr>
Reported-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reported-by: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
---
arch/mips/include/asm/mach-bcm63xx/dma-coherence.h | 10 ----------
1 file changed, 10 deletions(-)
delete mode 100644 arch/mips/include/asm/mach-bcm63xx/dma-coherence.h
--- a/arch/mips/include/asm/mach-bcm63xx/dma-coherence.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef __ASM_MACH_BCM63XX_DMA_COHERENCE_H
-#define __ASM_MACH_BCM63XX_DMA_COHERENCE_H
-
-#include <asm/bmips.h>
-
-#define plat_post_dma_flush bmips_post_dma_flush
-
-#include <asm/mach-generic/dma-coherence.h>
-
-#endif /* __ASM_MACH_BCM63XX_DMA_COHERENCE_H */

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

@ -13,61 +13,61 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c
@@ -186,6 +186,7 @@ int get_c0_perfcount_int(void)
@@ -181,6 +181,7 @@ const char *get_system_type(void)
{
return ATH79_MISC_IRQ(5);
return ath79_sys_type;
}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
unsigned int get_c0_compare_int(void)
int get_c0_perfcount_int(void)
{
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -466,6 +466,7 @@ int get_c0_perfcount_int(void)
{
return ltq_perfcount_irq;
@@ -461,6 +461,7 @@ int __init icu_of_init(struct device_nod
return 0;
}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
unsigned int get_c0_compare_int(void)
int get_c0_perfcount_int(void)
{
--- a/arch/mips/mti-malta/malta-time.c
+++ b/arch/mips/mti-malta/malta-time.c
@@ -148,6 +148,7 @@ int get_c0_perfcount_int(void)
@@ -163,6 +163,7 @@ unsigned int get_c0_compare_int(void)
return mips_cpu_perf_irq;
return mips_cpu_timer_irq;
}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
unsigned int get_c0_compare_int(void)
static void __init init_rtc(void)
{
--- a/arch/mips/mti-sead3/sead3-time.c
+++ b/arch/mips/mti-sead3/sead3-time.c
@@ -77,6 +77,7 @@ int get_c0_perfcount_int(void)
return MIPS_CPU_IRQ_BASE + cp0_perfcount_irq;
return -1;
}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
unsigned int get_c0_compare_int(void)
{
--- a/arch/mips/pistachio/time.c
+++ b/arch/mips/pistachio/time.c
@@ -26,6 +26,7 @@ int get_c0_perfcount_int(void)
{
return gic_get_c0_perfcount_int();
@@ -85,6 +85,7 @@ unsigned int get_c0_compare_int(void)
return gic_get_c0_compare_int();
return MIPS_CPU_IRQ_BASE + cp0_compare_irq;
}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
void __init plat_time_init(void)
{
--- a/arch/mips/ralink/irq.c
+++ b/arch/mips/ralink/irq.c
@@ -89,6 +89,7 @@ int get_c0_perfcount_int(void)
--- a/arch/mips/pistachio/time.c
+++ b/arch/mips/pistachio/time.c
@@ -21,6 +21,7 @@ unsigned int get_c0_compare_int(void)
{
return rt_perfcount_irq;
return gic_get_c0_compare_int();
}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
unsigned int get_c0_compare_int(void)
int get_c0_perfcount_int(void)
{
--- a/arch/mips/ralink/irq.c
+++ b/arch/mips/ralink/irq.c
@@ -95,6 +95,7 @@ unsigned int get_c0_compare_int(void)
{
return CP0_LEGACY_COMPARE_IRQ;
}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
static void ralink_intc_irq_handler(unsigned int irq, struct irq_desc *desc)
{

View File

@ -164,7 +164,7 @@
enum mtd_parser_type type,
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -658,7 +658,7 @@ static int mtd_add_partition_attrs(struc
@@ -659,7 +659,7 @@ static int mtd_add_partition_attrs(struc
}
@ -173,7 +173,7 @@
__mtd_add_partition(struct mtd_info *master, const char *name,
long long offset, long long length, bool dup_check)
{
@@ -762,7 +762,7 @@ run_parsers_by_type(struct mtd_part *sla
@@ -763,7 +763,7 @@ run_parsers_by_type(struct mtd_part *sla
return nr_parts;
}
@ -182,7 +182,7 @@
mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len)
{
unsigned long mask = mtd->erasesize - 1;
@@ -832,7 +832,6 @@ static void split_uimage(struct mtd_info
@@ -833,7 +833,6 @@ static void split_uimage(struct mtd_info
return;
len = be32_to_cpu(hdr.size) + 0x40;

View File

@ -15,7 +15,7 @@
/* initialize internal qc */
/* XXX: Tag 0 is used for drivers with legacy EH as some
@@ -4781,6 +4789,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
@@ -4796,6 +4804,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL;
@ -25,7 +25,7 @@
/* libsas case */
if (ap->flags & ATA_FLAG_SAS_HOST) {
tag = ata_sas_allocate_tag(ap);
@@ -4826,6 +4837,8 @@ void ata_qc_free(struct ata_queued_cmd *
@@ -4841,6 +4852,8 @@ void ata_qc_free(struct ata_queued_cmd *
qc->tag = ATA_TAG_POISON;
if (ap->flags & ATA_FLAG_SAS_HOST)
ata_sas_free_tag(tag, ap);
@ -36,7 +36,7 @@
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -902,6 +902,8 @@ struct ata_port_operations {
@@ -905,6 +905,8 @@ struct ata_port_operations {
void (*qc_prep)(struct ata_queued_cmd *qc);
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
@ -45,7 +45,7 @@
/*
* Configuration and exception handling
@@ -992,6 +994,9 @@ struct ata_port_operations {
@@ -995,6 +997,9 @@ struct ata_port_operations {
void (*phy_reset)(struct ata_port *ap);
void (*eng_timeout)(struct ata_port *ap);

View File

@ -1,41 +0,0 @@
From f8ff99a839ed05e1e4993b543357183b095b77f1 Mon Sep 17 00:00:00 2001
From: Michal Suchanek <hramrach@gmail.com>
Date: Thu, 1 Jan 2015 16:44:45 +0100
Subject: [PATCH] mtd: nand: Fix NAND_* options to use unique values.
NAND_BUSWIDTH_AUTO (64b37b2a6) and NAND_USE_BOUNCE_BUFFER (66507c7bc)
are the same value. Change the later introduced NAND_USE_BOUNCE_BUFFER
to a different value.
Signed-off-by: Michal Suchanek <hramrach@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
include/linux/mtd/nand.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -176,17 +176,17 @@ typedef enum {
/* Chip may not exist, so silence any errors in scan */
#define NAND_SCAN_SILENT_NODEV 0x00040000
/*
- * This option could be defined by controller drivers to protect against
- * kmap'ed, vmalloc'ed highmem buffers being passed from upper layers
- */
-#define NAND_USE_BOUNCE_BUFFER 0x00080000
-/*
* Autodetect nand buswidth with readid/onfi.
* This suppose the driver will configure the hardware in 8 bits mode
* when calling nand_scan_ident, and update its configuration
* before calling nand_scan_tail.
*/
-#define NAND_BUSWIDTH_AUTO 0x00080000
+#define NAND_BUSWIDTH_AUTO 0x00080000
+/*
+ * This option could be defined by controller drivers to protect against
+ * kmap'ed, vmalloc'ed highmem buffers being passed from upper layers
+ */
+#define NAND_USE_BOUNCE_BUFFER 0x00100000
/* Options set by nand scan */
/* Nand scan has allocated controller struct */