[kernel] r18672 - in dists/trunk/linux-2.6/debian: . patches/bugfix/arm patches/series

Arnaud Patard rtp-guest at alioth.debian.org
Thu Feb 9 14:12:09 UTC 2012


Author: rtp-guest
Date: Thu Feb  9 14:12:08 2012
New Revision: 18672

Log:
Merge ixp4xx_flash_probe oops fix from Marc Kleine-Budde

Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/arm/ARM-ixp4xx-mtd-oops.patch
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/series/base

Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog	Wed Feb  8 21:26:02 2012	(r18671)
+++ dists/trunk/linux-2.6/debian/changelog	Thu Feb  9 14:12:08 2012	(r18672)
@@ -7,6 +7,9 @@
   * [amd64] Update rt featureset to 3.2.5-rt12
   * [i386] enable rt featureset for 686-pae
 
+  [ Arnaud Patard ]
+  * Merge ixp4xx oops fix when probing mtd.
+
  -- Bastian Blank <waldi at debian.org>  Mon, 06 Feb 2012 11:22:07 +0100
 
 linux-2.6 (3.2.4-1) unstable; urgency=low

Added: dists/trunk/linux-2.6/debian/patches/bugfix/arm/ARM-ixp4xx-mtd-oops.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/arm/ARM-ixp4xx-mtd-oops.patch	Thu Feb  9 14:12:08 2012	(r18672)
@@ -0,0 +1,123 @@
+Queued as http://git.infradead.org/users/dedekind/l2-mtd.git/commit/40421b7fb59974bef9362b74c8d7b92944c578c4
+
+From: Marc Kleine-Budde <mkl at blackshift.org>
+To: linux-kernel at 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 at blackshift.org>
+In-Reply-To: <1328729069-21308-1-git-send-email-mkl at blackshift.org>
+References: <1328729069-21308-1-git-send-email-mkl at blackshift.org>
+Cc: Marc Kleine-Budde <mkl at blackshift.org>, linux-mtd at lists.infradead.org,
+ linux-arm-kernel at 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 at lists.infradead.org
+Signed-off-by: Marc Kleine-Budde <mkl at 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 at lists.infradead.org
+http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
+

Modified: dists/trunk/linux-2.6/debian/patches/series/base
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/base	Wed Feb  8 21:26:02 2012	(r18671)
+++ dists/trunk/linux-2.6/debian/patches/series/base	Thu Feb  9 14:12:08 2012	(r18672)
@@ -76,3 +76,5 @@
 + bugfix/all/pci-rework-aspm-disable-code.patch
 
 + features/all/hwmon-it87-Add-IT8728F-support.patch
++ bugfix/arm/ARM-ixp4xx-mtd-oops.patch
+



More information about the Kernel-svn-changes mailing list