On Tue, 3 Jul 2007 15:03:56 -0400 Rob Landley <[EMAIL PROTECTED]> wrote:
> Just making sure this fix winds up in 2.6.23: 2.6.22? > http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=4454/1 > > It fixes a regression that occurred between 2.6.20 and 2.6.20-rc1. Without > it, qemu-system-arm can't use emulated SCSI drives. It wasn't in -rc7, and > the attached patch Works For Me (tm). Should have cc'ed Russell? > Signed-off-by: Rob Landley <[EMAIL PROTECTED]> > > Rob > -- > "One of my most productive days was throwing away 1000 lines of code." > - Ken Thompson. > > > [linux-armfix.patch text/x-diff (1.1KB)] > ARM Versatile PCI config reads of one byte width have the lowest two<br /> > bits of the address cleared and result in reading from a wrong place<br /> html gunk in changelog > in the config space. This change is to use word size accesses like it is > done for halfword reads. > > Byte reads are used for retrieving the IRQ number of a PCI device and the > problem was not exposed until 2.6.20 because the value read was discarded in > drivers/pci/setup-irq.c (recently fixed). > > Signed-off-by: Andrzej Zaborowski <(address hidden)><br /> > Acked-by: Paul Brook <(address hidden)> more > Note 2 submitted by Russell King on 02 Jul 2007 12:39:41 (UTC) > Moved to applied > Applied to git-curr. > > diff --git a/arch/arm/mach-versatile/pci.c b/arch/arm/mach-versatile/pci.c > index ba58223..ca82901 100644 > --- a/arch/arm/mach-versatile/pci.c > +++ b/arch/arm/mach-versatile/pci.c > @@ -117,7 +117,10 @@ static int versatile_read_config(struct pci_bus *bus, > unsigned int devfn, int wh > } else { > switch (size) { > case 1: > - v = __raw_readb(addr); > + v = __raw_readl(addr); > + if (where & 2) v >>= 16; > + if (where & 1) v >>= 8; Someone's enter key broke? > + v &= 0xff; > break; > > case 2: > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/