patch-2.1.81 linux/kernel/softirq.c

Next file: linux/net/ipv4/arp.c
Previous file: linux/kernel/printk.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.80/linux/kernel/softirq.c linux/kernel/softirq.c
@@ -62,14 +62,14 @@
 
 asmlinkage void do_bottom_half(void)
 {
-	if (softirq_trylock()) {
-		int cpu = smp_processor_id();
+	int cpu = smp_processor_id();
 
+	if (softirq_trylock(cpu)) {
 		if (hardirq_trylock(cpu)) {
 			__sti();
 			run_bottom_halves();
 			hardirq_endlock(cpu);
 		}
-		softirq_endlock();
+		softirq_endlock(cpu);
 	}
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov