PREP sym53c8xx sym53c8xx brokeness due to 2.6.9-rc1-bk1 introduced residual data patch ...
Leigh Brown
leigh at solinno.co.uk
Fri Apr 8 21:36:02 EST 2005
Tom Rini said:
> On Wed, Apr 06, 2005 at 03:47:13AM +0200, Christian wrote:
>> Tom Rini wrote:
>> > Can either of you verify that say 2.6.11.6 w/ "noresidual" on the
>> > command-line works? Thanks.
>>
>> i booted vanilla 2.6.11.6 with noresidual (and "nopresidual" too, as
>> Sven
>> sugggested), but the scsi errors did not went away :(
>>
>> on a side note, and perhaps totally unrelated: i always have
>> PROC_PREPRESIDUAL=y in my .config, but i never had /proc/residual as
>> promised from the help text.
>
> Odd. I thought that only happened if you had no residual data at all
> (which can happen on Powerstacks, esp if netbooting the kernel). But in
> that case the new code shouldn't be hit at all. Leigh?
Hi, I'm back from my holidays, and have had a look at this. As I spent
lots of time understanding the horrendous mess that was
prep_pcibios_fixup(), I'd be loath to back out the changes I made
(especially as they work so well for me ;-) ).
It turns out that prep_pib_init() is the culprit. Although it would
appear to be coded for the non-openpic case, it obviously doesn't work.
The old version of prep_pcibios_fixup() only called it if there is an
openpic on the machine. We can restore that behaviour with the
following patch:
--- prep_pci.c.orig 2005-04-08 11:49:25.743718088 +0000
+++ prep_pci.c 2005-04-08 12:23:00.541422280 +0000
@@ -1245,8 +1245,13 @@
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq);
}
- /* Setup the Winbond or Via PIB */
- prep_pib_init();
+ /* Setup the Winbond or Via PIB - prep_pib_init() is coded for
+ * the non-openpic case, but it breaks (at least) the Utah
+ * (Powerstack II Pro4000), so only call it if we have an
+ * openpic.
+ */
+ if (have_openpic)
+ prep_pib_init();
}
static void __init
I've no idea even what machines would be affected by this, but it
fixes Sven's problem and restores the old behaviour, so that
can't be bad.
I guess fixing prep_pib_init() would be the better solution but
I wouldn't know where to start. If this band-aid is good enough
I can submit a proper patch, if you like.
Cheers,
Leigh.
More information about the Linuxppc-dev
mailing list