[PATCH 1/1] Char: isicom, fix card locking

2006-12-07 Thread Jiri Slaby
Could you test this one and turn on lock debugging? (It's applicable instead of the last one.) -- isicom, fix card locking - Somebody omitted spin_unlock in interrupt handler and hence card causes deadlock. Add two unlocks, before returning from handler, if the lock was acquired before. -

[PATCH 1/1] Char: isicom, fix card locking

2006-12-07 Thread Jiri Slaby
Could you test this one and turn on lock debugging? (It's applicable instead of the last one.) -- isicom, fix card locking - Somebody omitted spin_unlock in interrupt handler and hence card causes deadlock. Add two unlocks, before returning from handler, if the lock was acquired before. -

Re: [PATCH 1/1] Char: isicom, fix card locking

2006-12-06 Thread Jiri Slaby
Eric Fox wrote: > Patch works if I disable SMP in kernel. Aha, and it didn't work without the patch with SMP disabled? > strace setserial -g /dev/ttyM0 > execve("/bin/setserial", ["setserial", "-g", "/dev/ttyM0"], [/* 17 vars > */]) = 0 > uname({sys="Linux", node="dialin-0.vab.com", ...}) = 0 >

[PATCH 1/1] Char: isicom, fix card locking

2006-12-06 Thread Jiri Slaby
Eric Fox wrote: > Here is what i was able to capture from a terminal logged in to the machine > with the ISI board: > > strace setserial -g /dev/ttyM0 > execve("/bin/setserial", ["setserial", "-g", "/dev/ttyM0"], [/* 17 vars > */]) = 0 > uname({sys="Linux", node="dialin-0.vab.com", ...}) = 0 >

[PATCH 1/1] Char: isicom, fix card locking

2006-12-06 Thread Jiri Slaby
Eric Fox wrote: Here is what i was able to capture from a terminal logged in to the machine with the ISI board: strace setserial -g /dev/ttyM0 execve(/bin/setserial, [setserial, -g, /dev/ttyM0], [/* 17 vars */]) = 0 uname({sys=Linux, node=dialin-0.vab.com, ...}) = 0 brk(0)

Re: [PATCH 1/1] Char: isicom, fix card locking

2006-12-06 Thread Jiri Slaby
Eric Fox wrote: Patch works if I disable SMP in kernel. Aha, and it didn't work without the patch with SMP disabled? strace setserial -g /dev/ttyM0 execve(/bin/setserial, [setserial, -g, /dev/ttyM0], [/* 17 vars */]) = 0 uname({sys=Linux, node=dialin-0.vab.com, ...}) = 0 brk(0)