Hi,
for the context part:
I've got a marvell espressobin board, to which I attached a mini-PCIE
wireless card, atheros AR9565 aka. QCB335. I am using both archlinux-arm
and a custom OS made with buildroot, and both have this problem.
Problem:
When the system boots up, the kernel recognizes the card, and then the
ath9k driver gets loaded. From what someone on the irc channel of
#linux-wireless determined, the driver ends up doing a sigbus while
attempting to read from a specific address in memory, which of course
makes it crash. We did check the page tables, and the memory seems to be
mapped fine. So we're still clueless as to why it is not possible to
read from that particular memory address, and why the driver would do
so. Here I attach the kernel page tables, along with the dmesg output.
The problematic line in the trace is x19.
I'd appreciate any help in fixing this issue which I think might be
related to ARM64.
Note that I am no programmer, all the info I gathered so far were with
someone else's help. But if you need some more debug output, files or
anything else, just let me know. I can also apply patches to test
things, or modify the code if I know exactly in what way, i.e: what to
copy and past.
Dmesg:
http://ix.io/1pTK
kernel page tables -- from a later kernel build, but do notice that the
memory is still mapped correctly even if the register changed:
http://ix.io/1pQh
Thanks a lot :)