Re: ELDK 4.2/kilauea/3.5+ kernel broken
From: Robert Berger <hidden>
Date: 2012-10-19 06:36:03
Hi, On 10/19/2012 06:16 AM, Mai La wrote:
quoted hunk ↗ jump to hunk
Hi, My patch was:@@ -150,12 +157,11 @@ static int ppc4xx_setup_pcieh_hw(structplatform_device *dev, if (!sdr_addr) return -1; - SDR0_WRITE(sdr_addr, (u64)res.start >> 32); /*HIGH addr */ - SDR0_WRITE(sdr_addr + 1, res.start & 0xFFFFFFFF); /* Low addr */ - + mtdcri(SDR0, *sdr_addr, upper_32_bits(res.start)); /*HIGH addr */ + mtdcri(SDR0, *sdr_addr + 1, lower_32_bits(res.start)); /* Low addr */ msi->msi_dev = of_find_node_by_name(NULL, "ppc4xx-msi"); - if (msi->msi_dev) + if (!msi->msi_dev) return -ENODEV; msi->msi_regs = of_iomap(msi->msi_dev, 0); 1. The first few lines: change from SDR0_WRITE to mtdcri since the old one cause crash. I use ELDK 4.2.
The old one does not cause a crash for me. As I said on a kilauea board with ELDK 4.2 a 3.6 kernel, default config and everything reverted to the good old file I can boot happily with a rootfs from nfs. If I use the file as it is in 3.6 I don't see the kernel booting. but it crashes.
2. The second one should mean that: if not find any node then return error. So it should be "!msi->msi_dev"
In the 3.6 kernel it's with ! the old file (which works for me) is without the ! ... very strange ...
Regards, Mai La.
Regards, Robert