patch-2.1.81 linux/drivers/block/floppy.c

Next file: linux/drivers/block/genhd.c
Previous file: linux/arch/i386/lib/usercopy.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.80/linux/drivers/block/floppy.c linux/drivers/block/floppy.c
@@ -1710,10 +1710,11 @@
 		} while ((ST0 & 0x83) != UNIT(current_drive) && inr == 2);
 	}
 	if (handler) {
-		if(softirq_trylock()) {
+		int cpu = smp_processor_id();
+		if(softirq_trylock(cpu)) {
 			/* got the lock, call the handler immediately */
 			handler();
-			softirq_endlock();
+			softirq_endlock(cpu);
 		} else
 			/* we interrupted a bottom half. Defer handler */
 			schedule_bh( (void *)(void *) handler);

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