Update to 3.3.2

svn path=/dists/trunk/linux-2.6/; revision=18926
This commit is contained in:
Ben Hutchings 2012-04-14 05:02:18 +00:00
parent 36aa841844
commit 19c01cc8ac
4 changed files with 2 additions and 215 deletions

3
debian/changelog vendored
View File

@ -1,7 +1,8 @@
linux-2.6 (3.3.1-1~experimental.1) UNRELEASED; urgency=low
linux-2.6 (3.3.2-1~experimental.1) UNRELEASED; urgency=low
* New upstream stable update:
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.3.1
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.3.2
[ Ben Hutchings ]
* [armel/iop32x] Add missing #includes (fixes FTBFS)

View File

@ -1,123 +0,0 @@
Queued as http://git.infradead.org/users/dedekind/l2-mtd.git/commit/40421b7fb59974bef9362b74c8d7b92944c578c4
From: Marc Kleine-Budde <mkl@blackshift.org>
To: linux-kernel@vger.kernel.org
Subject: [PATCH 2/2] mtd: ixp4xx: oops in ixp4xx_flash_probe
Date: Wed, 8 Feb 2012 20:24:29 +0100
Message-Id: <1328729069-21308-3-git-send-email-mkl@blackshift.org>
In-Reply-To: <1328729069-21308-1-git-send-email-mkl@blackshift.org>
References: <1328729069-21308-1-git-send-email-mkl@blackshift.org>
Cc: Marc Kleine-Budde <mkl@blackshift.org>, linux-mtd@lists.infradead.org,
linux-arm-kernel@lists.infradead.org
In commit "c797533 mtd: abstract last MTD partition parser argument" the
third argument of "mtd_device_parse_register()" changed from start address
of the MTD device to a pointer to a struct.
The "ixp4xx_flash_probe()" function was not converted properly, causing
this oops during boot:
Searching for RedBoot partition table in IXP4XX-Flash.0 at offset 0x7e0000
Unable to handle kernel paging request at virtual address 50000000
pgd = c0004000
[50000000] *pgd=00000000
Internal error: Oops: f5 [#1]
CPU: 0 Not tainted (3.2.5-00002-gc809cb2 #4)
PC is at parse_redboot_partitions+0x400/0x5b0
LR is at parse_redboot_partitions+0x3e0/0x5b0
pc : [<c01642ec>] lr : [<c01642cc>] psr: 20000013
sp : c0829de4 ip : c0829de4 fp : c0829e3c
r10: c180d000 r9 : 00000000 r8 : 00000008
r7 : 00000200 r6 : 50000000 r5 : 00000000 r4 : c0888c00
r3 : c0944400 r2 : 00000000 r1 : c02c6060 r0 : 00000007
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 000039ff Table: 00004000 DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc0828260)
Stack: (0xc0829de4 to 0xc082a000)
9de0: c0829e0c c182d000 c0179a08 c0944400 00000048 00000000 00000000
9e00: 00020000 c0829e70 c180d000 00020000 00000000 00000000 c028ba40 c028ba18
9e20: c028be88 50000000 c024b250 c0888c00 c0829e6c c0829e40 c0162f58 c0163ef8
9e40: c0829e70 00000000 00000000 c0888c00 00000000 00000000 00000000 00000000
9e60: c0829e90 c0829e70 c015ffac c0162ed8 c09418a0 c09418a0 c027cc28 c027cedc
9e80: 00000000 c0829eb4 c0829e94 c017a464 c015ff90 00000000 c027cc30 c02a2568
9ea0: c027cc30 c028be48 c0829ec4 c0829eb8 c01338c4 c017a318 c0829ee8 c0829ec8
9ec0: c01323b4 c01338b4 c027cc30 c028be48 c027cc64 00000000 00000000 c0829f04
9ee0: c0829eec c013254c c0132338 c028be48 c0829f08 c01324b8 c0829f2c c0829f08
9f00: c0131ba0 c01324c4 c08240f8 c083fbd0 c028be48 c028a4ac c0941840 00000000
9f20: c0829f3c c0829f30 c0132218 c0131b40 c0829f68 c0829f40 c01314c0 c0132204
9f40: c0236120 c02765cc c028be48 c026d95c 00000013 00000000 00000000 c0829f88
9f60: c0829f6c c0132b90 c013134c c02765cc 00000000 c026d95c 00000013 c0829f98
9f80: c0829f8c c0133d28 c0132b1c c0829fa8 c0829f9c c026d970 c0133ce8 c0829fdc
9fa0: c0829fac c025d270 c026d968 c028271c c0023c94 00000013 c02765cc c02766bc
9fc0: c0023c94 00000013 00000000 00000000 c0829ff4 c0829fe0 c025d400 c025d1d8
9fe0: 00000000 c025d380 00000000 c0829ff8 c0023c94 c025d38c 62737507 6f74735f
Backtrace:
[<c0163eec>] (parse_redboot_partitions+0x0/0x5b0) from [<c0162f58>] (parse_mtd_partitions+0x8c/0xdc)
[<c0162ecc>] (parse_mtd_partitions+0x0/0xdc) from [<c015ffac>] (mtd_device_parse_register+0x28/0xc8)
[<c015ff84>] (mtd_device_parse_register+0x0/0xc8) from [<c017a464>] (ixp4xx_flash_probe+0x158/0x1dc)
r7:00000000 r6:c027cedc r5:c027cc28 r4:c09418a0
[<c017a30c>] (ixp4xx_flash_probe+0x0/0x1dc) from [<c01338c4>] (platform_drv_probe+0x1c/0x20)
r7:c028be48 r6:c027cc30 r5:c02a2568 r4:c027cc30
[<c01338a8>] (platform_drv_probe+0x0/0x20) from [<c01323b4>] (driver_probe_device+0x88/0x18c)
[<c013232c>] (driver_probe_device+0x0/0x18c) from [<c013254c>] (__driver_attach+0x94/0x98)
r8:00000000 r7:00000000 r6:c027cc64 r5:c028be48 r4:c027cc30
[<c01324b8>] (__driver_attach+0x0/0x98) from [<c0131ba0>] (bus_for_each_dev+0x6c/0x94)
r6:c01324b8 r5:c0829f08 r4:c028be48
[<c0131b34>] (bus_for_each_dev+0x0/0x94) from [<c0132218>] (driver_attach+0x20/0x28)
r7:00000000 r6:c0941840 r5:c028a4ac r4:c028be48
[<c01321f8>] (driver_attach+0x0/0x28) from [<c01314c0>] (bus_add_driver+0x180/0x25c)
[<c0131340>] (bus_add_driver+0x0/0x25c) from [<c0132b90>] (driver_register+0x80/0x13c)
[<c0132b10>] (driver_register+0x0/0x13c) from [<c0133d28>] (platform_driver_register+0x4c/0x60)
r7:00000013 r6:c026d95c r5:00000000 r4:c02765cc
[<c0133cdc>] (platform_driver_register+0x0/0x60) from [<c026d970>] (ixp4xx_flash_init+0x14/0x1c)
[<c026d95c>] (ixp4xx_flash_init+0x0/0x1c) from [<c025d270>] (do_one_initcall+0xa4/0x17c)
[<c025d1cc>] (do_one_initcall+0x0/0x17c) from [<c025d400>] (kernel_init+0x80/0x124)
r9:00000000 r8:00000000 r7:00000013 r6:c0023c94 r5:c02766bc
r4:c02765cc
[<c025d380>] (kernel_init+0x0/0x124) from [<c0023c94>] (do_exit+0x0/0x694)
r5:c025d380 r4:00000000
Code: 0a000028 e3560000 e583a000 0a00001f (e5962000)
---[ end trace bf1eac11c431d0ba ]---
This patch fixes the problem by filling the needed information into a
"struct mtd_part_parser_data" and passing it to
"mtd_device_parse_register()".
Cc: linux-mtd@lists.infradead.org
Signed-off-by: Marc Kleine-Budde <mkl@blackshift.org>
---
drivers/mtd/maps/ixp4xx.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/drivers/mtd/maps/ixp4xx.c b/drivers/mtd/maps/ixp4xx.c
index 8b54101..e864fc6 100644
--- a/drivers/mtd/maps/ixp4xx.c
+++ b/drivers/mtd/maps/ixp4xx.c
@@ -182,6 +182,9 @@ static int ixp4xx_flash_probe(struct platform_device *dev)
{
struct flash_platform_data *plat = dev->dev.platform_data;
struct ixp4xx_flash_info *info;
+ struct mtd_part_parser_data ppdata = {
+ .origin = dev->resource->start,
+ };
int err = -1;
if (!plat)
@@ -247,7 +250,7 @@ static int ixp4xx_flash_probe(struct platform_device *dev)
/* Use the fast version */
info->map.write = ixp4xx_write16;
- err = mtd_device_parse_register(info->mtd, probes, dev->resource->start,
+ err = mtd_device_parse_register(info->mtd, probes, &ppdata,
plat->parts, plat->nr_parts);
if (err) {
printk(KERN_ERR "Could not parse partitions\n");
--
1.7.4.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

View File

@ -1,87 +0,0 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 4 Apr 2012 02:08:12 +0100
Subject: [PATCH] Revert "x86/ioapic: Add register level checks to detect
bogus io-apic entries"
This reverts commit 273fb194e86b795b08a724c7646d0f694949070b.
It is reported to break Xen support (not sure which domains/modes).
---
arch/x86/kernel/apic/io_apic.c | 40 ++++++++--------------------------------
1 file changed, 8 insertions(+), 32 deletions(-)
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index a25e276..6d939d7 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -3963,36 +3963,18 @@ int mp_find_ioapic_pin(int ioapic, u32 gsi)
static __init int bad_ioapic(unsigned long address)
{
if (nr_ioapics >= MAX_IO_APICS) {
- pr_warn("WARNING: Max # of I/O APICs (%d) exceeded (found %d), skipping\n",
- MAX_IO_APICS, nr_ioapics);
+ printk(KERN_WARNING "WARNING: Max # of I/O APICs (%d) exceeded "
+ "(found %d), skipping\n", MAX_IO_APICS, nr_ioapics);
return 1;
}
if (!address) {
- pr_warn("WARNING: Bogus (zero) I/O APIC address found in table, skipping!\n");
+ printk(KERN_WARNING "WARNING: Bogus (zero) I/O APIC address"
+ " found in table, skipping!\n");
return 1;
}
return 0;
}
-static __init int bad_ioapic_register(int idx)
-{
- union IO_APIC_reg_00 reg_00;
- union IO_APIC_reg_01 reg_01;
- union IO_APIC_reg_02 reg_02;
-
- reg_00.raw = io_apic_read(idx, 0);
- reg_01.raw = io_apic_read(idx, 1);
- reg_02.raw = io_apic_read(idx, 2);
-
- if (reg_00.raw == -1 && reg_01.raw == -1 && reg_02.raw == -1) {
- pr_warn("I/O APIC 0x%x registers return all ones, skipping!\n",
- mpc_ioapic_addr(idx));
- return 1;
- }
-
- return 0;
-}
-
void __init mp_register_ioapic(int id, u32 address, u32 gsi_base)
{
int idx = 0;
@@ -4009,12 +3991,6 @@ void __init mp_register_ioapic(int id, u32 address, u32 gsi_base)
ioapics[idx].mp_config.apicaddr = address;
set_fixmap_nocache(FIX_IO_APIC_BASE_0 + idx, address);
-
- if (bad_ioapic_register(idx)) {
- clear_fixmap(FIX_IO_APIC_BASE_0 + idx);
- return;
- }
-
ioapics[idx].mp_config.apicid = io_apic_unique_id(id);
ioapics[idx].mp_config.apicver = io_apic_get_version(idx);
@@ -4035,10 +4011,10 @@ void __init mp_register_ioapic(int id, u32 address, u32 gsi_base)
if (gsi_cfg->gsi_end >= gsi_top)
gsi_top = gsi_cfg->gsi_end + 1;
- pr_info("IOAPIC[%d]: apic_id %d, version %d, address 0x%x, GSI %d-%d\n",
- idx, mpc_ioapic_id(idx),
- mpc_ioapic_ver(idx), mpc_ioapic_addr(idx),
- gsi_cfg->gsi_base, gsi_cfg->gsi_end);
+ printk(KERN_INFO "IOAPIC[%d]: apic_id %d, version %d, address 0x%x, "
+ "GSI %d-%d\n", idx, mpc_ioapic_id(idx),
+ mpc_ioapic_ver(idx), mpc_ioapic_addr(idx),
+ gsi_cfg->gsi_base, gsi_cfg->gsi_end);
nr_ioapics++;
}
--
1.7.9.5

View File

@ -45,7 +45,6 @@
+ debian/x86-memtest-WARN-if-bad-RAM-found.patch
+ bugfix/arm/ARM-ixp4xx-gpiolib-support.patch
+ bugfix/alpha/alpha-add-io-read-write-16-32-be-functions.patch
+ bugfix/arm/ARM-ixp4xx-mtd-oops.patch
+ features/all/fs-symlink-restrictions-on-sticky-directories.patch
+ features/all/fs-symlink-restrictions-on-sticky-directories-fix-2.patch
@ -56,8 +55,5 @@
# Temporary, until the original change has been tested some more
+ debian/revert-CIFS-Respect-negotiated-MaxMpxCount.patch
# Temporary, until the Xen regression is fixed
+ debian/revert-x86-ioapic-Add-register-level-checks-to-detec.patch
+ bugfix/arm/ARM-Fix-missing-linux-types.h-inclusion-in-asm-hardw.patch
+ bugfix/arm/ARM-Fix-missing-include-for-call-to-soft_restart-in-.patch