summaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/patches-4.1/130-MIPS-kernel-fix-sched_getaffinity-with-MT-FPAFF-enab.patch35
-rw-r--r--target/linux/generic/patches-4.1/131-MIPS-export-get_c0_perfcount_int.patch40
2 files changed, 20 insertions, 55 deletions
diff --git a/target/linux/generic/patches-4.1/130-MIPS-kernel-fix-sched_getaffinity-with-MT-FPAFF-enab.patch b/target/linux/generic/patches-4.1/130-MIPS-kernel-fix-sched_getaffinity-with-MT-FPAFF-enab.patch
deleted file mode 100644
index a7bfef347c..0000000000
--- a/target/linux/generic/patches-4.1/130-MIPS-kernel-fix-sched_getaffinity-with-MT-FPAFF-enab.patch
+++ /dev/null
@@ -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);
diff --git a/target/linux/generic/patches-4.1/131-MIPS-export-get_c0_perfcount_int.patch b/target/linux/generic/patches-4.1/131-MIPS-export-get_c0_perfcount_int.patch
index 3a3e89833a..bee7673120 100644
--- a/target/linux/generic/patches-4.1/131-MIPS-export-get_c0_perfcount_int.patch
+++ b/target/linux/generic/patches-4.1/131-MIPS-export-get_c0_perfcount_int.patch
@@ -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;
+@@ -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);
- unsigned int get_c0_compare_int(void)
+ void __init plat_time_init(void)
{
--- a/arch/mips/pistachio/time.c
+++ b/arch/mips/pistachio/time.c
-@@ -26,6 +26,7 @@ int get_c0_perfcount_int(void)
+@@ -21,6 +21,7 @@ unsigned int get_c0_compare_int(void)
{
- return gic_get_c0_perfcount_int();
+ return gic_get_c0_compare_int();
}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
- void __init plat_time_init(void)
+ int get_c0_perfcount_int(void)
{
--- a/arch/mips/ralink/irq.c
+++ b/arch/mips/ralink/irq.c
-@@ -89,6 +89,7 @@ int get_c0_perfcount_int(void)
+@@ -95,6 +95,7 @@ unsigned int get_c0_compare_int(void)
{
- return rt_perfcount_irq;
+ return CP0_LEGACY_COMPARE_IRQ;
}
+EXPORT_SYMBOL_GPL(get_c0_perfcount_int);
- unsigned int get_c0_compare_int(void)
+ static void ralink_intc_irq_handler(unsigned int irq, struct irq_desc *desc)
{