Re: [PATCH 2.6.11+] ppc32: Make the Powerstack II Pro4000 boot again
From: Greg KH <hidden>
Date: 2005-04-13 08:01:14
On Sat, Apr 09, 2005 at 12:33:17PM +0100, Leigh Brown wrote:
On Fri, 8 Apr 2005 07:54:31 -0700 Tom Rini wrote:quoted
On Fri, Apr 08, 2005 at 12:36:02PM +0100, Leigh Brown wrote:quoted
Tom Rini said:quoted
On Wed, Apr 06, 2005 at 03:47:13AM +0200, Christian wrote:quoted
Tom Rini wrote:quoted
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 __initI'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.If this works, I'd like to see this get into 2.6.12. Please re-send to akpm / this list. Assuming it's just the above: Acked-by: Tom Rini <redacted>On Fri, 8 Apr 2005 08:57:17 -0700, Tom Rini wrote:quoted
On Fri, Apr 08, 2005 at 05:51:40PM +0200, Christian wrote:quoted
Tom Rini wrote:quoted
If this works, I'd like to see this get into 2.6.12. Please re-send to akpm / this list. Assuming it's just the above: Acked-by: Tom Rini <redacted>yes! i just applied Leigh's patch (thanks!) to a pristine 2.6.11.6 and my PReP here booted fine: http://www.nerdbynature.de/bits/hal/2.6.11.6/leigh/Great. Leigh, can you also submit to gregkh for 2.6.11.7? Thanks.This patch restores the original behaviour of prep_pcibios_fixup() to only call prep_pib_init() on machines with an openpic. This allows the Powerstack II Pro4000 to boot again. Signed-off-by: Leigh Brown <redacted>
The proper place for -stable patches, is to have them sent to stable@kernel.org with a valid changelog comment (not a ton of context...) Please do that, and it will be reviewed. Also, is this patch already in mainline? thanks, greg k-h