On Sun, 29 Jul 2007, Krzysztof Helt wrote:
On Sun, 29 Jul 2007 17:45:35 +0200
Krzysztof Helt <[EMAIL PROTECTED]> wrote:
It is not DMA I suppose. It does not happen in any specific place. It is easy
to trigger by loading
and unloading the sunlance module, but it hangs linux in other places (init
process, console login).
It happens only in SMP. If it happens in the sunlance module it happens in
sparc_lance_probe_one()
(in probing function). I thought it is due to openprom accesses so I commented
them out (and put
hardcoded values there). No real change. It is always in the probe_one method
before any DMA is
started.
I was able to find out that it is definitely prom related. When I removed also
prom_node_has_property() call,
there is no bug any more. It locks inside prom_XXX access functions (e.g.
__prom_nextprop or prom_getproplen).
The old prom system was working so I think the new openprom patches created
this bug.
How does the new system access the prom? Is the old prom lock is taken into
consideration?
The lock is taken into consideration however, looking at the code, there
seems to be an issue with the new code for Sparc32. It does not seem tie
up with the code used before!!!. If this is rearly the case then this
would explain the memory corruption I am seeing as the functions in tree.c
that call the openprom to not match the previous working versions.
I will try to workout what has happened.
Regards,
Krzysztof
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html