aboutsummaryrefslogtreecommitdiffstats
path: root/meta-snowyowl/recipes-kernel/linux/files/0001-net-core-dev.c-fix-build-for-full-RT-kernel.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-snowyowl/recipes-kernel/linux/files/0001-net-core-dev.c-fix-build-for-full-RT-kernel.patch')
-rw-r--r--meta-snowyowl/recipes-kernel/linux/files/0001-net-core-dev.c-fix-build-for-full-RT-kernel.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/meta-snowyowl/recipes-kernel/linux/files/0001-net-core-dev.c-fix-build-for-full-RT-kernel.patch b/meta-snowyowl/recipes-kernel/linux/files/0001-net-core-dev.c-fix-build-for-full-RT-kernel.patch
new file mode 100644
index 00000000..fb581512
--- /dev/null
+++ b/meta-snowyowl/recipes-kernel/linux/files/0001-net-core-dev.c-fix-build-for-full-RT-kernel.patch
@@ -0,0 +1,36 @@
+From 8aab8dc14ab063feb326acc707b01d5dc9a8f8db Mon Sep 17 00:00:00 2001
+From: Awais Belal <awais_belal@mentor.com>
+Date: Tue, 15 May 2018 14:10:01 +0500
+Subject: [PATCH] net/core/dev.c: fix build for full RT kernel
+
+The RT kernel updates do not allow usage of do_softirq
+directly rather it provides a method to run softirqs
+on the calling thread using thread_do_softirq.
+
+Signed-off-by: Awais Belal <awais_belal@mentor.com>
+---
+ net/core/dev.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/net/core/dev.c b/net/core/dev.c
+index 8d14f2af545b..4ffe8b879d20 100755
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -5045,8 +5045,13 @@ static void busy_poll_stop(struct napi_struct *napi, void *have_poll_lock)
+ if (rc == BUSY_POLL_BUDGET)
+ __napi_schedule(napi);
+ local_bh_enable();
+- if (local_softirq_pending())
++ if (local_softirq_pending()) {
++#ifdef CONFIG_PREEMPT_RT_FULL
++ thread_do_softirq();
++#else
+ do_softirq();
++#endif
++ }
+ }
+
+ bool sk_busy_loop(struct sock *sk, int nonblock)
+--
+2.11.1
+