Messages in this thread Patch in this message | | | Date | Fri, 07 Dec 2001 15:32:38 -0800 | From | Andrew Morton <> | Subject | Re: release() locking |
| |
"Udo A. Steinberg" wrote: > > "David C. Hansen" wrote: > > > > Andrew Morton wrote: > > > >Maybe so. Can you identify the exact kernel version at which > > >the problem started? > > Yes. I tried the entire 2.5.1-pre series: > > -pre1 and -pre2 are fine. > -pre3 doesn't compile out of the box and with 3 trivial compile fixes to > pc_keyb.c shows the problem. >
Hum. send_data() requires that local interrupts be enabled.
Does this fix it?
--- linux-2.5.1-pre6/drivers/char/pc_keyb.c Thu Dec 6 20:44:21 2001 +++ 25/drivers/char/pc_keyb.c Fri Dec 7 15:31:34 2001 @@ -1090,6 +1090,7 @@ static int open_aux(struct inode * inode spin_unlock_irqrestore(&aux_count_lock, flags); return -EBUSY; } + spin_unlock_irqrestore(&aux_count_lock, flags); kbd_write_command_w(KBD_CCMD_MOUSE_ENABLE); /* Enable the auxiliary port on controller. */ @@ -1099,7 +1100,6 @@ static int open_aux(struct inode * inode mdelay(2); /* Ensure we follow the kbc access delay rules.. */ send_data(KBD_CMD_ENABLE); /* try to workaround toshiba4030cdt problem */ - spin_unlock_irqrestore(&aux_count_lock, flags); return 0; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |