From 2589e2d34145a28c4242de88fb6d2edb2fb2c984 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 28 Jun 2011 15:44:15 +0200
Subject: [PATCH 045/414] softirq-thread-do-softirq.patch

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 include/linux/interrupt.h | 1 +
 net/core/dev.c            | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 623ab2d787d9..acafa7dde11c 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -412,6 +412,7 @@ struct softirq_action
 
 asmlinkage void do_softirq(void);
 asmlinkage void __do_softirq(void);
+static inline void thread_do_softirq(void) { do_softirq(); }
 extern void open_softirq(int nr, void (*action)(struct softirq_action *));
 extern void softirq_init(void);
 extern void __raise_softirq_irqoff(unsigned int nr);
diff --git a/net/core/dev.c b/net/core/dev.c
index fa6d9a47f71f..22338ff51db9 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3287,7 +3287,7 @@ int netif_rx_ni(struct sk_buff *skb)
 	preempt_disable();
 	err = netif_rx(skb);
 	if (local_softirq_pending())
-		do_softirq();
+		thread_do_softirq();
 	preempt_enable();
 
 	return err;
-- 
2.10.2

