| Subject: softirq-thread-do-softirq.patch |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Tue, 28 Jun 2011 15:44:15 +0200 |
| |
| 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(-) |
| |
| Index: linux-stable/include/linux/interrupt.h |
| =================================================================== |
| --- linux-stable.orig/include/linux/interrupt.h |
| +++ linux-stable/include/linux/interrupt.h |
| @@ -446,6 +446,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); |
| Index: linux-stable/net/core/dev.c |
| =================================================================== |
| --- linux-stable.orig/net/core/dev.c |
| +++ linux-stable/net/core/dev.c |
| @@ -2993,7 +2993,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; |