[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070703122145.447c7d2c.akpm@linux-foundation.org>
Date: Tue, 3 Jul 2007 12:21:45 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Rob Landley <rob@...dley.net>
Cc: linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.arm.linux.org.uk
Subject: Re: Don't miss the ARM-scsi fix.
On Tue, 3 Jul 2007 15:03:56 -0400
Rob Landley <rob@...dley.net> 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 <rob@...dley.net>
>
> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists