PREP sym53c8xx sym53c8xx brokeness due to 2.6.9-rc1-bk1 introduced residual data patch ...

Tom Rini trini at kernel.crashing.org
Sat Apr 9 00:54:31 EST 2005


On Fri, Apr 08, 2005 at 12:36:02PM +0100, Leigh Brown wrote:
> 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.

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 <trini at kernel.crashing.org>

-- 
Tom Rini
http://gate.crashing.org/~trini/



More information about the Linuxppc-dev mailing list