diff options
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.patch | 36 |
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 + |