Re: snd-nm256: hard lockup on every second module load after powerup

From: Christian Trefzer
Date: Sun Mar 26 2006 - 09:08:50 EST



OK, apparently the importance of this issue is quite modest, so I won't
expect too much attention - not that I'd have presumed any in the first
place ; )

Here's what I found so far, anyway:

Writing the following to the device one word at a time prior to loading
snd-nm256 saved my laptop from hanging. It was dumped in a shell loop
after successful driver loading:

0x71918086
0x0220011f
0x06040003
0x00012000
0x00000000
0x00000000
0x20010100
0xa2a0c0c0
0xfef0fd00
0xf9f0f800
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x008c0000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000


The following I get when reading stuff right before a crash:


0x71918086
0x0220011f
0x06040003
0x00012000
0x00000000
0x00000000
0x20010100
0x22a0c0c0
0xfef0fd00
0xf9f0f800
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x008c0000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000
0x00000000


The funny part is that only writing word #7 won't save the suicidal
fsck from going over the edge, I only succeeded when writing all the
stuff back to the device. By the way, here's a diff:


--- nm256-device-beforedriver 2006-03-26 15:27:32.873773008 +0200
+++ nm256-device-driverloaded 2006-03-26 15:27:42.669283864 +0200
@@ -5,7 +5,7 @@
0x00000000
0x00000000
0x20010100
-0x22a0c0c0
+0xa2a0c0c0
0xfef0fd00
0xf9f0f800
0x00000000


It came out of suspend2 just the way it was supposed to crash, I flushed
the registers and it is now happily playing music for me. Strange
thing... For now, I'll add the register paint job to an install
directive in modprobe.conf, let's see what this can do.


Kind regards,
Chris

Attachment: pgp00000.pgp
Description: PGP signature