atkbd_init lockup with 2.6.11-rc1

13 messages, 2 authors, 2005-01-28 · open the first message on its own page

atkbd_init lockup with 2.6.11-rc1

From: Olaf Hering <hidden>
Date: 2005-01-28 13:22:15

My IBM RS/6000 B50 locks up with 2.6.11rc1, it dies in atkbd_init():

Calling initcall 0xc03c272c: atkbd_init+0x0/0x38()
ps2_init(224) swapper(1):c0,j4294680939 enter
atkbd_connect(793) swapper(1):c0,j4294680993 type 1000000
serio_open(606) swapper(1):c0,j4294681061 enter
serio_set_drv(594) swapper(1):c0,j4294681117 enter
serio_set_drv(600) swapper(1):c0,j4294681176 leave
i8042_write_command(69) swapper(1):c0,j4294681236 enter
i8042_write_data(62) swapper(1):c0,j4294681236 enter
serio_open(614) swapper(1):c0,j4294681363 leave0
atkbd_probe(497) swapper(1):c0,j4294681421 enter
ps2_command(91) swapper(1):c0,j4294681478 enter
ps2_sendbyte(57) swapper(1):c0,j4294681534 enter
serio_write(95) swapper(1):c0,j4294681591 write c01b65ac
i8042_aux_write(253) swapper(1):c0,j4294681658 enter
i8042_write_command(69) swapper(1):c0,j4294681720 enter
i8042_write_data(62) swapper(1):c0,j4294681720 enter


Any idea how to fix it? There is no keyboard or mouse detected. I think
it works ok on ppc64, Anton did not complain yet.

Re: atkbd_init lockup with 2.6.11-rc1

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2005-01-28 13:58:16

On Fri, 28 Jan 2005 14:22:02 +0100, Olaf Hering [off-list ref] wrote:
My IBM RS/6000 B50 locks up with 2.6.11rc1, it dies in atkbd_init():

Calling initcall 0xc03c272c: atkbd_init+0x0/0x38()
ps2_init(224) swapper(1):c0,j4294680939 enter
atkbd_connect(793) swapper(1):c0,j4294680993 type 1000000
serio_open(606) swapper(1):c0,j4294681061 enter
serio_set_drv(594) swapper(1):c0,j4294681117 enter
serio_set_drv(600) swapper(1):c0,j4294681176 leave
i8042_write_command(69) swapper(1):c0,j4294681236 enter
i8042_write_data(62) swapper(1):c0,j4294681236 enter
serio_open(614) swapper(1):c0,j4294681363 leave0
atkbd_probe(497) swapper(1):c0,j4294681421 enter
ps2_command(91) swapper(1):c0,j4294681478 enter
ps2_sendbyte(57) swapper(1):c0,j4294681534 enter
serio_write(95) swapper(1):c0,j4294681591 write c01b65ac
i8042_aux_write(253) swapper(1):c0,j4294681658 enter
i8042_write_command(69) swapper(1):c0,j4294681720 enter
i8042_write_data(62) swapper(1):c0,j4294681720 enter

Any idea how to fix it? There is no keyboard or mouse detected. I think
it works ok on ppc64, Anton did not complain yet.
Hi,

It looks like it is hanging in checking AUX, while writing data into
controller. It is simple outb but it is stuck... Could you please
reboot with i8042.debug boot option and resend the log. Also, you may
try booting with i8042.noaux to check if keyboard alone works.

-- 
Dmitry

Re: atkbd_init lockup with 2.6.11-rc1

From: Olaf Hering <hidden>
Date: 2005-01-28 13:59:50

 On Fri, Jan 28, Olaf Hering wrote:
My IBM RS/6000 B50 locks up with 2.6.11rc1, it dies in atkbd_init():
It fails also on PReP, not only on CHRP. 2.6.10 looks like this:

Calling initcall 0xc03bc430: atkbd_init+0x0/0x2c()
atkbd.c: keyboard reset failed on isa0060/serio1
atkbd.c: keyboard reset failed on isa0060/serio0

I'm able to break into xmon, cpu is in cpu_idle, maybe its spinning
somewhere.

Re: atkbd_init lockup with 2.6.11-rc1

From: Olaf Hering <hidden>
Date: 2005-01-28 14:02:20

 On Fri, Jan 28, Dmitry Torokhov wrote:
It looks like it is hanging in checking AUX, while writing data into
controller. It is simple outb but it is stuck... Could you please
reboot with i8042.debug boot option and resend the log. Also, you may
try booting with i8042.noaux to check if keyboard alone works.
It looks like this:
Kernel command line: root=/dev/sda3 selinux=0 elevator=cfq debug initcall_debug panic=1 i8042.nomux=1 console=ttyS0 i8042.debug i8042.noaux
...
Calling initcall 0xc03a3a14: atkbd_init+0x0/0x38()
ps2_init(224) swapper(1):c0,j4294681251 enter
atkbd_connect(793) swapper(1):c0,j4294681305 type 6000000
serio_open(606) swapper(1):c0,j4294681372 enter
serio_set_drv(594) swapper(1):c0,j4294681428 enter
serio_set_drv(600) swapper(1):c0,j4294681488 leave
/home/olaf/kernel/b50/linux-2.6.11-rc2-olh/drivers/input/serio/i8042.c: 60 -> i8042 (command) [3767]
i8042_write_command(69) swapper(1):c0,j4294681548 enter
/home/olaf/kernel/b50/linux-2.6.11-rc2-olh/drivers/input/serio/i8042.c: 61 -> i8042 (parameter) [3767]
i8042_write_data(62) swapper(1):c0,j4294681548 enter
serio_open(614) swapper(1):c0,j4294681911 leave0
atkbd_probe(497) swapper(1):c0,j4294681968 enter
ps2_command(91) swapper(1):c0,j4294682026 enter
ps2_sendbyte(57) swapper(1):c0,j4294682082 enter
serio_write(95) swapper(1):c0,j4294682139 write c01b9d48
/home/olaf/kernel/b50/linux-2.6.11-rc2-olh/drivers/input/serio/i8042.c: ff -> i8042 (kbd-data) [4424]
i8042_write_data(62) swapper(1):c0,j4294682205 enter

Re: atkbd_init lockup with 2.6.11-rc1

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2005-01-28 14:43:47

On Fri, 28 Jan 2005 14:58:27 +0100, Olaf Hering [off-list ref] wrote:
On Fri, Jan 28, Olaf Hering wrote:
quoted
My IBM RS/6000 B50 locks up with 2.6.11rc1, it dies in atkbd_init():
It fails also on PReP, not only on CHRP. 2.6.10 looks like this:

Calling initcall 0xc03bc430: atkbd_init+0x0/0x2c()
atkbd.c: keyboard reset failed on isa0060/serio1
atkbd.c: keyboard reset failed on isa0060/serio0
So it could not reset it even before, but it was not getting stuch
tough... What about passing atkbd.reset=0?
-- 
Dmitry

Re: atkbd_init lockup with 2.6.11-rc1

From: Olaf Hering <hidden>
Date: 2005-01-28 14:55:18

 On Fri, Jan 28, Dmitry Torokhov wrote:
On Fri, 28 Jan 2005 14:58:27 +0100, Olaf Hering [off-list ref] wrote:
quoted
On Fri, Jan 28, Olaf Hering wrote:
quoted
My IBM RS/6000 B50 locks up with 2.6.11rc1, it dies in atkbd_init():
It fails also on PReP, not only on CHRP. 2.6.10 looks like this:

Calling initcall 0xc03bc430: atkbd_init+0x0/0x2c()
atkbd.c: keyboard reset failed on isa0060/serio1
atkbd.c: keyboard reset failed on isa0060/serio0
So it could not reset it even before, but it was not getting stuch
tough... What about passing atkbd.reset=0?
I will try that.
Adding a printk after the outb() fixes it as well. 
Do you have a version of that i8042 delay patch for 2.6.11-rc2-bk6?
Maybe it will help.

Re: atkbd_init lockup with 2.6.11-rc1

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2005-01-28 15:24:49

On Fri, 28 Jan 2005 15:55:11 +0100, Olaf Hering [off-list ref] wrote:
On Fri, Jan 28, Dmitry Torokhov wrote:
quoted
On Fri, 28 Jan 2005 14:58:27 +0100, Olaf Hering [off-list ref] wrote:
quoted
On Fri, Jan 28, Olaf Hering wrote:
quoted
My IBM RS/6000 B50 locks up with 2.6.11rc1, it dies in atkbd_init():
It fails also on PReP, not only on CHRP. 2.6.10 looks like this:

Calling initcall 0xc03bc430: atkbd_init+0x0/0x2c()
atkbd.c: keyboard reset failed on isa0060/serio1
atkbd.c: keyboard reset failed on isa0060/serio0
So it could not reset it even before, but it was not getting stuch
tough... What about passing atkbd.reset=0?
I will try that.
Adding a printk after the outb() fixes it as well.
Fixes as in "it reports that reset fails" again or it resets the
keyboard cleanly and works fine?
Do you have a version of that i8042 delay patch for 2.6.11-rc2-bk6?
Maybe it will help.
No I don't, and I don't think you need all of it. What happens if you
edit drivers/input/serio/i8042.c manually and stick udelay(7); in
front of calls to i8042_write_data() in i8042_kbd_write() and
i8042_aux_write()?

-- 
Dmitry

Re: atkbd_init lockup with 2.6.11-rc1

From: Olaf Hering <hidden>
Date: 2005-01-28 16:17:57

 On Fri, Jan 28, Dmitry Torokhov wrote:
Fixes as in "it reports that reset fails" again or it resets the
keyboard cleanly and works fine?
It doesnt hang if I add printk around the outb.
quoted
Do you have a version of that i8042 delay patch for 2.6.11-rc2-bk6?
Maybe it will help.
No I don't, and I don't think you need all of it. What happens if you
edit drivers/input/serio/i8042.c manually and stick udelay(7); in
front of calls to i8042_write_data() in i8042_kbd_write() and
i8042_aux_write()?
Doesnt help either, adding printk fixes it.

/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: 60 -> i8042 (command) [2264]
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: 61 -> i8042 (parameter) [2264]
i8042_write_data(56) swapper(1):c0,j4294673158 enter 97
i8042_write_data(58) swapper(1):c0,j4294673158 leave 97
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: ff -> i8042 (kbd-data) [2640]
i8042_write_data(56) swapper(1):c0,j4294673534 enter 255
i8042_write_data(58) swapper(1):c0,j4294673534 leave 255
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: fe <- i8042 (interrupt, kbd, 1, timeout) [2895]
atkbd.c: keyboard reset failed on isa0060/serio0
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: f2 -> i8042 (kbd-data) [3096]
i8042_write_data(56) swapper(1):c0,j4294673990 enter 242
i8042_write_data(58) swapper(1):c0,j4294673990 leave 242
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: fe <- i8042 (interrupt, kbd, 1, timeout) [3351]
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: ed -> i8042 (kbd-data) [3494]
i8042_write_data(56) swapper(1):c0,j4294674388 enter 237
i8042_write_data(58) swapper(1):c0,j4294674388 leave 237
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: fe <- i8042 (interrupt, kbd, 1, timeout) [3750]
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: 60 -> i8042 (command) [3893]
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: 60 -> i8042 (parameter) [3893]
i8042_write_data(56) swapper(1):c0,j4294674787 enter 96
i8042_write_data(58) swapper(1):c0,j4294674787 leave 96
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
.. here it hangs again.

Re: atkbd_init lockup with 2.6.11-rc1

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2005-01-28 16:43:49

On Fri, 28 Jan 2005 17:17:46 +0100, Olaf Hering [off-list ref] wrote:
On Fri, Jan 28, Dmitry Torokhov wrote:
quoted
Fixes as in "it reports that reset fails" again or it resets the
keyboard cleanly and works fine?
It doesnt hang if I add printk around the outb.
quoted
quoted
Do you have a version of that i8042 delay patch for 2.6.11-rc2-bk6?
Maybe it will help.
No I don't, and I don't think you need all of it. What happens if you
edit drivers/input/serio/i8042.c manually and stick udelay(7); in
front of calls to i8042_write_data() in i8042_kbd_write() and
i8042_aux_write()?
Doesnt help either, adding printk fixes it.

/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: 60 -> i8042 (command) [2264]
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: 61 -> i8042 (parameter) [2264]
i8042_write_data(56) swapper(1):c0,j4294673158 enter 97
i8042_write_data(58) swapper(1):c0,j4294673158 leave 97
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: ff -> i8042 (kbd-data) [2640]
i8042_write_data(56) swapper(1):c0,j4294673534 enter 255
i8042_write_data(58) swapper(1):c0,j4294673534 leave 255
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: fe <- i8042 (interrupt, kbd, 1, timeout) [2895]
atkbd.c: keyboard reset failed on isa0060/serio0
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: f2 -> i8042 (kbd-data) [3096]
i8042_write_data(56) swapper(1):c0,j4294673990 enter 242
i8042_write_data(58) swapper(1):c0,j4294673990 leave 242
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: fe <- i8042 (interrupt, kbd, 1, timeout) [3351]
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: ed -> i8042 (kbd-data) [3494]
i8042_write_data(56) swapper(1):c0,j4294674388 enter 237
i8042_write_data(58) swapper(1):c0,j4294674388 leave 237
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: fe <- i8042 (interrupt, kbd, 1, timeout) [3750]
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: 60 -> i8042 (command) [3893]
/home/olaf/kernel/b50/linux-2.6.11-rc2-bk6-olh/drivers/input/serio/i8042.c: 60 -> i8042 (parameter) [3893]
i8042_write_data(56) swapper(1):c0,j4294674787 enter 96
i8042_write_data(58) swapper(1):c0,j4294674787 leave 96
So this trace is without printk but with udelay, right? This time
keyboard does not hang but NAKs everything instead... What if you aso
add udelay(20) after calls to i8042_write_data()?
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
.. here it hangs again.
Do you know where exactly? Is it some IO port access again?

-- 
Dmitry

Re: atkbd_init lockup with 2.6.11-rc1

From: Olaf Hering <hidden>
Date: 2005-01-28 16:48:34

 On Fri, Jan 28, Dmitry Torokhov wrote:
quoted
i8042_write_data(56) swapper(1):c0,j4294674787 enter 96
i8042_write_data(58) swapper(1):c0,j4294674787 leave 96
So this trace is without printk but with udelay, right? This time
keyboard does not hang but NAKs everything instead... What if you aso
add udelay(20) after calls to i8042_write_data()?
Its with 2 printk in i8042_write_data(), just adding a printk after outb
in i8042_write_data fixes the hang.
quoted
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
NET: Registered protocol family 2
.. here it hangs again.
Do you know where exactly? Is it some IO port access again?
Havent debugged that one, yet. Hopefully a different issue. According to
the logs from 2.6.5, the next message would be 

NET: Registered protocol family 2
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
NET: Registered protocol family 1
NET: Registered protocol family 17

Re: atkbd_init lockup with 2.6.11-rc1

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2005-01-28 17:38:33

On Fri, 28 Jan 2005 11:43:44 -0500, Dmitry Torokhov
[off-list ref] wrote:
This time  keyboard does not hang but NAKs everything instead...
Probably stupid question - does this box have AT keyboard? Or NAKs are
perfectly valid?

-- 
Dmitry

Re: atkbd_init lockup with 2.6.11-rc1

From: Olaf Hering <hidden>
Date: 2005-01-28 17:38:49

 On Fri, Jan 28, Dmitry Torokhov wrote:
On Fri, 28 Jan 2005 11:43:44 -0500, Dmitry Torokhov
[off-list ref] wrote:
quoted
This time  keyboard does not hang but NAKs everything instead...
Probably stupid question - does this box have AT keyboard? Or NAKs are
perfectly valid?
There is nothing connected. 2.6.10-bk11 works, -bk12 not. Thats a
starting point, will look at the differences now.

Re: atkbd_init lockup with 2.6.11-rc1

From: Olaf Hering <hidden>
Date: 2005-01-28 19:09:36

 On Fri, Jan 28, Olaf Hering wrote:
My IBM RS/6000 B50 locks up with 2.6.11rc1, it dies in atkbd_init():

Calling initcall 0xc03c272c: atkbd_init+0x0/0x38()
ps2_init(224) swapper(1):c0,j4294680939 enter
atkbd_connect(793) swapper(1):c0,j4294680993 type 1000000
serio_open(606) swapper(1):c0,j4294681061 enter
serio_set_drv(594) swapper(1):c0,j4294681117 enter
serio_set_drv(600) swapper(1):c0,j4294681176 leave
i8042_write_command(69) swapper(1):c0,j4294681236 enter
i8042_write_data(62) swapper(1):c0,j4294681236 enter
serio_open(614) swapper(1):c0,j4294681363 leave0
atkbd_probe(497) swapper(1):c0,j4294681421 enter
ps2_command(91) swapper(1):c0,j4294681478 enter
ps2_sendbyte(57) swapper(1):c0,j4294681534 enter
serio_write(95) swapper(1):c0,j4294681591 write c01b65ac
i8042_aux_write(253) swapper(1):c0,j4294681658 enter
i8042_write_command(69) swapper(1):c0,j4294681720 enter
i8042_write_data(62) swapper(1):c0,j4294681720 enter
If I remove this patch from 2.6.10-bk12, it works again. 
No drivers were changed, I see lots of "mm" which is scary.
Any takers?

http://penguinppc.org/~olaf/bk12.diff.gz
.config contains just enough to get to the atkbd_init() function.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help