Re: Sparc32 not working:2.6.23-rc1 (git commit 1e4dcd22efa7d24f637ab2ea3a77dd65774eb005)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Sun, 29 Jul 2007, Krzysztof Helt wrote:

On Sun, 29 Jul 2007 17:45:35 +0200
Krzysztof Helt <krzysztof.h1@xxxxx> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux