What I don't get is why this is happening with the newer kernels if it's a hardware issue? It should happen in the older ones, no?
This iswhat I think it is; I think the fact that it worked for 32M and not 64M for you doesn't mean that there is a problem with 64M necessarily. I think it's very dependant on the kernel build. I use 32M normally, and 16M still gave me a problem. I'm sure if others try this, they will find different numbers. I think it's something much more fundamental... maybe a byte-alignment issue, something quirky like that.