From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <5034F3F8.9080802@atmel.com> Date: Wed, 22 Aug 2012 17:00:08 +0200 From: ludovic.desroches MIME-Version: 1.0 To: Linux Kernel list , "linux-arm-kernel@lists.infradead.org" , , Subject: JFFS2 issue with v3.5.x and later on Atmel chips at least (was: Kernel oops since v3.5.x on Atmel chips) References: <5034B45A.5060107@atmel.com> In-Reply-To: <5034B45A.5060107@atmel.com> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 8bit Cc: Jean-Christophe PLAGNIOL-VILLARD , "ludovic.desroches" , Nicolas Ferre List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Le 08/22/2012 12:28 PM, ludovic.desroches a écrit : > Hi, > > Doing some tests with the help of Lava (a Linaro tool), I get some > kernel oops with 3.5.x on several chips at91sam9260, at91sam9261 and > at91sam9m10g45. > > Most of the time the oops comes from the cascade BUG() call in > kernel/timer.c but sometimes it comes from a bad PC value. > > With Lava, I got the crash each time. It happens after mounting a mtd > partition, copying a file from it, removing this file from the flash > memory and then unmounting the mtd partition. > > I couldn't reproduce manually this issue so maybe there is something > related to time... > > Here I paste the usual oops and the one with the bad PC value: > > Starting kernel ... > > Uncompressing Linux... done, booting the kernel. > Booting Linux on physical CPU 0 > Linux version 3.5.0 (ldesroches@ibiza) (gcc version 4.6.1 (Ubuntu/Linaro > 4.6.1-9ubuntu3) ) #10 Wed Aug 22 09:17:23 CEST 2012 > CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 > CPU: VIVT data cache, VIVT instruction cache > Machine: Atmel AT91SAM9260-EK > Memory policy: ECC disabled, Data cache writeback > AT91: Detected soc type: at91sam9260 > AT91: Detected soc subtype: Unknown > AT91: sram at 0x2ff000 of 0x2000 mapped at 0xfef76000 > Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz > Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 > Kernel command line: mem=64M console=ttyS0,115200 > mtdparts=atmel_nand:4M(bootstrap/uboot/kernel)ro,70M(rootfs),-(data) > root=/dev/mtdblock1 rw rootfstype=jffs2 ip=192.168.1.16:::255.255.255.0::: > PID hash table entries: 256 (order: -2, 1024 bytes) > Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) > Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) > Memory: 64MB = 64MB total > Memory: 60848k/60848k available, 4688k reserved, 0K highmem > Virtual kernel memory layout: > vector : 0xffff0000 - 0xffff1000 ( 4 kB) > fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) > vmalloc : 0xc4800000 - 0xff000000 ( 936 MB) > lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) > modules : 0xbf000000 - 0xc0000000 ( 16 MB) > .text : 0xc0008000 - 0xc039fee8 (3680 kB) > .init : 0xc03a0000 - 0xc03bd7c4 ( 118 kB) > .data : 0xc03be000 - 0xc03e8f00 ( 172 kB) > .bss : 0xc03e8f24 - 0xc03fb138 ( 73 kB) > NR_IRQS:192 > AT91: 96 gpio irqs in 3 banks > sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every > 4294967286ms > Console: colour dummy device 80x30 > Calibrating delay loop... 98.71 BogoMIPS (lpj=493568) > pid_max: default: 32768 minimum: 301 > Mount-cache hash table entries: 512 > CPU: Testing write buffer coherency: ok > Setting up static identity map for 0x202af150 - 0x202af1a8 > devtmpfs: initialized > NET: Registered protocol family 16 > AT91: Power Management (with slow clock mode) > AT91: Starting after software reset > bio: create slab at 0 > SCSI subsystem initialized > usbcore: registered new interface driver usbfs > usbcore: registered new interface driver hub > usbcore: registered new device driver usb > Advanced Linux Sound Architecture Driver Version 1.0.25. > Switching to clocksource pit > cfg80211: Calling CRDA to update world regulatory domain > NET: Registered protocol family 2 > IP route cache hash table entries: 1024 (order: 0, 4096 bytes) > TCP established hash table entries: 2048 (order: 2, 16384 bytes) > TCP bind hash table entries: 2048 (order: 1, 8192 bytes) > TCP: Hash tables configured (established 2048 bind 2048) > TCP: reno registered > UDP hash table entries: 256 (order: 0, 4096 bytes) > UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) > NET: Registered protocol family 1 > RPC: Registered named UNIX socket transport module. > RPC: Registered udp transport module. > RPC: Registered tcp transport module. > RPC: Registered tcp NFSv4.1 backchannel transport module. > jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. > msgmni has been set to 118 > io scheduler noop registered (default) > atmel_usart.0: ttyS0 at MMIO 0xfffff200 (irq = 1) is a ATMEL_SERIAL > console [ttyS0] enabled > atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL > atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL > brd: module loaded > loop: module loaded > atmel_nand: Use On Flash BBT > atmel_nand atmel_nand: No DMA support for NAND access. > NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB > 3,3V 8-bit), page size: 2048, OOB size: 64 > Bad block table found at page 131008, version 0x01 > Bad block table found at page 130944, version 0x01 > nand_read_bbt: bad block at 0x000009840000 > nand_read_bbt: bad block at 0x00000fb80000 > 3 cmdlinepart partitions found on MTD device atmel_nand > Creating 3 MTD partitions on "atmel_nand": > 0x000000000000-0x000000400000 : "bootstrap/uboot/kernel" > 0x000000400000-0x000004a00000 : "rootfs" > 0x000004a00000-0x000010000000 : "data" > MACB_mii_bus: probed > macb macb: eth0: Cadence MACB at 0xfffc4000 irq 21 (3a:1f:34:08:54:54) > macb macb: eth0: attached PHY driver [Davicom DM9161A] > (mii_bus:phy_addr=macb-ffffffff:00, irq=-1) > ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver > at91_ohci at91_ohci: can't request overcurrent gpio 0 > at91_ohci at91_ohci: AT91 OHCI > at91_ohci at91_ohci: new USB bus registered, assigned bus number 1 > at91_ohci at91_ohci: irq 20, io mem 0x00500000 > usb usb1: New USB device found, idVendor=1d6b, idProduct=0001 > usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 > usb usb1: Product: AT91 OHCI > usb usb1: Manufacturer: Linux 3.5.0 ohci_hcd > usb usb1: SerialNumber: at91 > hub 1-0:1.0: USB hub found > hub 1-0:1.0: 2 ports detected > usbcore: registered new interface driver cdc_acm > cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters > Initializing USB Mass Storage driver... > usbcore: registered new interface driver usb-storage > USB Mass Storage support registered. > mousedev: PS/2 mouse device common for all mice > TCP: cubic registered > NET: Registered protocol family 17 > lib80211: common routines for IEEE802.11 drivers > VFP support v0.3: not present > input: gpio-keys as /devices/platform/gpio-keys/input/input0 > /home/ldesroches/workspace/linux/drivers/rtc/hctosys.c: unable to open > rtc device (rtc0) > IP-Config: Complete: > device=eth0, addr=192.168.1.16, mask=255.255.255.0, > gw=255.255.255.255 > host=192.168.1.16, domain=, nis-domain=(none) > bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath= > ALSA device list: > No soundcards found. > macb macb: eth0: link up (100/Full) > jffs2: Empty flash at 0x01fb1c68 ends at 0x01fb2000 > VFS: Mounted root (jffs2 filesystem) on device 31:1. > devtmpfs: mounted > Freeing init memory: 116K > Starting logging: OK > Populating using udev: udevd[468]: starting version 182 > done > Starting portmap: done > Initializing random number generator... done. > Starting network... > ip: RTNETLINK answers: File exists > Starting sshd: OK > > Welcome to Buildroot > at91 login: root > [root@at91 ~]# > [root@at91 ~]# > [root@at91 ~]# export PS1="$PS1 [rc=$(echo \$?)]: " > [root@at91 ~]# [rc=0]: mount -t jffs2 /dev/mtdblock2 /mnt/ > jffs2: Empty flash at 0x01fb1c68 ends at 0x01fb2000 > o_at91_lava/tmp [rc=0]: rm -rf /tmp/lava_results.tgz > /tmp//srv/lava/instances/rf > [root@at91 ~]# [rc=0]: mkdir -p /tmp//srv/lava/instances/rfo_at91_lava/tmp > tmp//srv/lava/instances/rfo_at91_lava/tmp/instances/rfo_at91_lava/tmp/*.bundle > / > eroot@at91 ~]# [rc=0]: rm -f > /mnt//srv/lava/instances/rfo_at91_lava/tmp/*.bundl > [root@at91 ~]# [rc=0]: umount /mnt/ > [root@at91 ~]# [rc=0]: ------------[ cut here ]------------ > kernel BUG at /home/ldesroches/workspace/linux/kernel/timer.c:1091! > Internal error: Oops - BUG: 0 [#1] ARM > Modules linked in: > CPU: 0 Not tainted (3.5.0 #10) > PC is at cascade+0x54/0x78 > LR is at cascade+0x60/0x78 > pc : [] lr : [] psr: a0000093 > sp : c03bfec8 ip : ffffae00 fp : 00000000 > r10: c03ee540 r9 : 0000000a r8 : 00000100 > r7 : c03bfec8 r6 : c03bfec8 r5 : 0000002e r4 : c03ee6a0 > r3 : 00000000 r2 : 00000068 r1 : c3a60738 r0 : c03ee9ec > Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel > Control: 0005317f Table: 23a58000 DAC: 00000017 > Process swapper (pid: 0, stack limit = 0xc03be270) > Stack: (0xc03bfec8 to 0xc03c0000) > fec0: c03faf70 c3a60738 0000002e c03ee6a0 c03be000 > 00000000 > fee0: c03ee560 c0023d98 c0145bc4 c3952ba0 00000000 00000000 c03cddf4 > 00000001 > ff00: 00000004 c03be000 c03ee560 00000100 c03ee540 c001f4b0 000027da > c03cddf4 > ff20: 00000000 00000001 c03bff9c 00000001 00000000 fefff000 c03bff9c > 20004000 > ff40: 41069265 203b834c 00000000 c001f890 fefff000 c000dfc8 c000e0cc > c000e0e0 > ff60: a0000013 c000d398 00000000 0005317f 0005217f a0000013 c03be000 > c03c8f54 > ff80: c03e8fe8 c047c300 20004000 41069265 203b834c 00000000 a00000d3 > c03bffb0 > ffa0: c000e0cc c000e0e0 a0000013 ffffffff c000e0b4 c000e27c c03c60b0 > ffffffff > ffc0: c03b9784 c03a070c ffffffff ffffffff c03a0274 00000000 00000000 > c03b9784 > ffe0: 00000000 00053175 c03c603c c03b9780 c03c8f4c 20008040 00000000 > 00000000 > [] (cascade+0x54/0x78) from [] > (run_timer_softirq+0x68/0x1f4) > [] (run_timer_softirq+0x68/0x1f4) from [] > (__do_softirq+0x7c/0x110) > [] (__do_softirq+0x7c/0x110) from [] > (irq_exit+0x40/0x4c) > [] (irq_exit+0x40/0x4c) from [] (handle_IRQ+0x74/0x98) > [] (handle_IRQ+0x74/0x98) from [] (__irq_svc+0x38/0x60) > [] (__irq_svc+0x38/0x60) from [] > (default_idle+0x2c/0x34) > [] (default_idle+0x2c/0x34) from [] > (cpu_idle+0x78/0xd8) > [] (cpu_idle+0x78/0xd8) from [] > (start_kernel+0x280/0x2d0) > Code: e591300c e3c33001 e1540003 0a000000 (e7f001f2) > ---[ end trace 6105dc3872c7de5d ]--- > Kernel panic - not syncing: Fatal exception in interrupt > > > > > > Starting kernel ... > > Uncompressing Linux... done, booting the kernel. > Booting Linux on physical CPU 0 > Linux version 3.5.0 (ldesroches@ibiza) (gcc version 4.6.1 (Ubuntu/Linaro > 4.6.1-9ubuntu3) ) #10 Wed Aug 22 09:17:23 CEST 2012 > CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 > CPU: VIVT data cache, VIVT instruction cache > Machine: Atmel AT91SAM9260-EK > Memory policy: ECC disabled, Data cache writeback > AT91: Detected soc type: at91sam9260 > AT91: Detected soc subtype: Unknown > AT91: sram at 0x2ff000 of 0x2000 mapped at 0xfef76000 > Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz > Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 > Kernel command line: mem=64M console=ttyS0,115200 > mtdparts=atmel_nand:4M(bootstrap/uboot/kernel)ro,70M(rootfs),-(data) > root=/dev/mtdblock1 rw rootfstype=jffs2 ip=192.168.1.16:::255.255.255.0::: > PID hash table entries: 256 (order: -2, 1024 bytes) > Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) > Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) > Memory: 64MB = 64MB total > Memory: 60848k/60848k available, 4688k reserved, 0K highmem > Virtual kernel memory layout: > vector : 0xffff0000 - 0xffff1000 ( 4 kB) > fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) > vmalloc : 0xc4800000 - 0xff000000 ( 936 MB) > lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) > modules : 0xbf000000 - 0xc0000000 ( 16 MB) > .text : 0xc0008000 - 0xc039fee8 (3680 kB) > .init : 0xc03a0000 - 0xc03bd7c4 ( 118 kB) > .data : 0xc03be000 - 0xc03e8f00 ( 172 kB) > .bss : 0xc03e8f24 - 0xc03fb138 ( 73 kB) > NR_IRQS:192 > AT91: 96 gpio irqs in 3 banks > sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every > 4294967286ms > Console: colour dummy device 80x30 > Calibrating delay loop... 98.71 BogoMIPS (lpj=493568) > pid_max: default: 32768 minimum: 301 > Mount-cache hash table entries: 512 > CPU: Testing write buffer coherency: ok > Setting up static identity map for 0x202af150 - 0x202af1a8 > devtmpfs: initialized > NET: Registered protocol family 16 > AT91: Power Management (with slow clock mode) > AT91: Starting after software reset > bio: create slab at 0 > SCSI subsystem initialized > usbcore: registered new interface driver usbfs > usbcore: registered new interface driver hub > usbcore: registered new device driver usb > Advanced Linux Sound Architecture Driver Version 1.0.25. > Switching to clocksource pit > cfg80211: Calling CRDA to update world regulatory domain > NET: Registered protocol family 2 > IP route cache hash table entries: 1024 (order: 0, 4096 bytes) > TCP established hash table entries: 2048 (order: 2, 16384 bytes) > TCP bind hash table entries: 2048 (order: 1, 8192 bytes) > TCP: Hash tables configured (established 2048 bind 2048) > TCP: reno registered > UDP hash table entries: 256 (order: 0, 4096 bytes) > UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) > NET: Registered protocol family 1 > RPC: Registered named UNIX socket transport module. > RPC: Registered udp transport module. > RPC: Registered tcp transport module. > RPC: Registered tcp NFSv4.1 backchannel transport module. > jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. > msgmni has been set to 118 > io scheduler noop registered (default) > atmel_usart.0: ttyS0 at MMIO 0xfffff200 (irq = 1) is a ATMEL_SERIAL > console [ttyS0] enabled > atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL > atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL > brd: module loaded > loop: module loaded > atmel_nand: Use On Flash BBT > atmel_nand atmel_nand: No DMA support for NAND access. > NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB > 3,3V 8-bit), page size: 2048, OOB size: 64 > Bad block table found at page 131008, version 0x01 > Bad block table found at page 130944, version 0x01 > nand_read_bbt: bad block at 0x000009840000 > nand_read_bbt: bad block at 0x00000fb80000 > 3 cmdlinepart partitions found on MTD device atmel_nand > Creating 3 MTD partitions on "atmel_nand": > 0x000000000000-0x000000400000 : "bootstrap/uboot/kernel" > 0x000000400000-0x000004a00000 : "rootfs" > 0x000004a00000-0x000010000000 : "data" > MACB_mii_bus: probed > macb macb: eth0: Cadence MACB at 0xfffc4000 irq 21 (3a:1f:34:08:54:54) > macb macb: eth0: attached PHY driver [Davicom DM9161A] > (mii_bus:phy_addr=macb-ffffffff:00, irq=-1) > ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver > at91_ohci at91_ohci: can't request overcurrent gpio 0 > at91_ohci at91_ohci: AT91 OHCI > at91_ohci at91_ohci: new USB bus registered, assigned bus number 1 > at91_ohci at91_ohci: irq 20, io mem 0x00500000 > usb usb1: New USB device found, idVendor=1d6b, idProduct=0001 > usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 > usb usb1: Product: AT91 OHCI > usb usb1: Manufacturer: Linux 3.5.0 ohci_hcd > usb usb1: SerialNumber: at91 > hub 1-0:1.0: USB hub found > hub 1-0:1.0: 2 ports detected > usbcore: registered new interface driver cdc_acm > cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters > Initializing USB Mass Storage driver... > usbcore: registered new interface driver usb-storage > USB Mass Storage support registered. > mousedev: PS/2 mouse device common for all mice > TCP: cubic registered > NET: Registered protocol family 17 > lib80211: common routines for IEEE802.11 drivers > VFP support v0.3: not present > input: gpio-keys as /devices/platform/gpio-keys/input/input0 > /home/ldesroches/workspace/linux/drivers/rtc/hctosys.c: unable to open > rtc device (rtc0) > IP-Config: Complete: > device=eth0, addr=192.168.1.16, mask=255.255.255.0, > gw=255.255.255.255 > host=192.168.1.16, domain=, nis-domain=(none) > bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath= > ALSA device list: > No soundcards found. > macb macb: eth0: link up (100/Full) > jffs2: Empty flash at 0x01fb1c68 ends at 0x01fb2000 > VFS: Mounted root (jffs2 filesystem) on device 31:1. > devtmpfs: mounted > Freeing init memory: 116K > Starting logging: OK > Populating using udev: done > udevd[468]: starting version 182 > Starting portmap: done > Initializing random number generator... done. > Starting network... > ip: RTNETLINK answers: File exists > Starting sshd: OK > > Welcome to Buildroot > at91 login: root > [root@at91 ~]# > [root@at91 ~]# > [root@at91 ~]# export PS1="$PS1 [rc=$(echo \$?)]: " > [root@at91 ~]# [rc=0]: mount -t jffs2 /dev/mtdblock2 /mnt/ > jffs2: Empty flash at 0x01fb1c68 ends at 0x01fb2000 > o_at91_lava/tmp [rc=0]: rm -rf /tmp/lava_results.tgz > /tmp//srv/lava/instances/rf > [root@at91 ~]# [rc=0]: mkdir -p /tmp//srv/lava/instances/rfo_at91_lava/tmp > tmp//srv/lava/instances/rfo_at91_lava/tmp/instances/rfo_at91_lava/tmp/*.bundle > / > eroot@at91 ~]# [rc=0]: rm -f > /mnt//srv/lava/instances/rfo_at91_lava/tmp/*.bundl > [root@at91 ~]# [rc=0]: umount /mnt/ > [root@at91 ~]# [rc=0]: Unable to handle kernel paging request at > virtual address 0d0c951c > pgd = c0004000 > [0d0c951c] *pgd=00000000 > Internal error: Oops: 80000005 [#1] ARM > Modules linked in: > CPU: 0 Not tainted (3.5.0 #10) > PC is at 0xd0c951c > LR is at run_timer_softirq+0x144/0x1f4 > pc : [<0d0c951c>] lr : [] psr: 20000013 > sp : c03bfee8 ip : 00200200 fp : 00000000 > r10: 0d0c951c r9 : 0000000a r8 : c03bfef0 > r7 : c03ee560 r6 : 00000100 r5 : c03be000 r4 : c03ee6a0 > r3 : 20000013 r2 : 00000000 r1 : c03bfef0 r0 : b5a01535 > Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel > Control: 0005317f Table: 23a58000 DAC: 00000017 > Process swapper (pid: 0, stack limit = 0xc03be270) > Stack: (0xc03bfee8 to 0xc03c0000) > fee0: c0145bc4 c396dba0 c03bfef0 c03bfef0 c03cddf4 > 00000001 > ff00: 00000004 c03be000 c03ee560 00000100 c03ee540 c001f4b0 00002870 > c03cddf4 > ff20: 00000000 00000001 c03bff9c 00000001 00000000 fefff000 c03bff9c > 20004000 > ff40: 41069265 203b834c 00000000 c001f890 fefff000 c000dfc8 c000e0cc > c000e0e0 > ff60: a0000013 c000d398 00000000 0005317f 0005217f a0000013 c03be000 > c03c8f54 > ff80: c03e8fe8 c047c300 20004000 41069265 203b834c 00000000 a00000d3 > c03bffb0 > ffa0: c000e0cc c000e0e0 a0000013 ffffffff c000e0b4 c000e27c c03c60b0 > ffffffff > ffc0: c03b9784 c03a070c ffffffff ffffffff c03a0274 00000000 00000000 > c03b9784 > ffe0: 00000000 00053175 c03c603c c03b9780 c03c8f4c 20008040 00000000 > 00000000 > [] (run_timer_softirq+0x144/0x1f4) from [] > (__do_softirq+0x7c/0x110) > [] (__do_softirq+0x7c/0x110) from [] > (irq_exit+0x40/0x4c) > [] (irq_exit+0x40/0x4c) from [] (handle_IRQ+0x74/0x98) > [] (handle_IRQ+0x74/0x98) from [] (__irq_svc+0x38/0x60) > [] (__irq_svc+0x38/0x60) from [] > (default_idle+0x2c/0x34) > [] (default_idle+0x2c/0x34) from [] > (cpu_idle+0x78/0xd8) > [] (cpu_idle+0x78/0xd8) from [] > (start_kernel+0x280/0x2d0) > Code: bad PC value > ---[ end trace f65db9c681fbd6e3 ]--- > Kernel panic - not syncing: Fatal exception in interrupt > > > > Regards > > Ludovic > > After bisection the commit causing this issue is: commit 8bdc81c5069e43755d6e59e5e990e21ca200e8e2 Author: Artem Bityutskiy Date: Mon May 7 19:56:53 2012 +0300 jffs2: get rid of jffs2_sync_super Currently JFFS2 file-system maps the VFS "superblock" abstraction to the write-buffer. Namely, it uses VFS services to synchronize the write-buffer periodically. The whole "superblock write-out" VFS infrastructure is served by the 'sync_supers()' kernel thread, which wakes up every 5 (by default) seconds and writes out all dirty superblock using the '->write_super()' call-back. But the problem with this thread is that it wastes power by waking up the system every 5 seconds no matter what. So we want to kill it completely and thus, we need to make file-systems to stop using the '->write_super' VFS service, and then remove it together with the kernel thread. This patch switches the JFFS2 write-buffer management from '->write_super()'/'->s_dirt' to a delayed work. Instead of setting the 's_dirt' flag we just schedule a delayed work for synchronizing the write-buffer. Signed-off-by: Artem Bityutskiy Signed-off-by: Al Viro Once reverted my issue disappeared. Tests have been done on at91sam9m10g45. Regards Ludovic From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludovic.desroches@atmel.com (ludovic.desroches) Date: Wed, 22 Aug 2012 15:00:16 -0000 Subject: JFFS2 issue with v3.5.x and later on Atmel chips at least (was: Kernel oops since v3.5.x on Atmel chips) In-Reply-To: <5034B45A.5060107@atmel.com> References: <5034B45A.5060107@atmel.com> Message-ID: <5034F3F8.9080802@atmel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Le 08/22/2012 12:28 PM, ludovic.desroches a ?crit : > Hi, > > Doing some tests with the help of Lava (a Linaro tool), I get some > kernel oops with 3.5.x on several chips at91sam9260, at91sam9261 and > at91sam9m10g45. > > Most of the time the oops comes from the cascade BUG() call in > kernel/timer.c but sometimes it comes from a bad PC value. > > With Lava, I got the crash each time. It happens after mounting a mtd > partition, copying a file from it, removing this file from the flash > memory and then unmounting the mtd partition. > > I couldn't reproduce manually this issue so maybe there is something > related to time... > > Here I paste the usual oops and the one with the bad PC value: > > Starting kernel ... > > Uncompressing Linux... done, booting the kernel. > Booting Linux on physical CPU 0 > Linux version 3.5.0 (ldesroches at ibiza) (gcc version 4.6.1 (Ubuntu/Linaro > 4.6.1-9ubuntu3) ) #10 Wed Aug 22 09:17:23 CEST 2012 > CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 > CPU: VIVT data cache, VIVT instruction cache > Machine: Atmel AT91SAM9260-EK > Memory policy: ECC disabled, Data cache writeback > AT91: Detected soc type: at91sam9260 > AT91: Detected soc subtype: Unknown > AT91: sram at 0x2ff000 of 0x2000 mapped at 0xfef76000 > Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz > Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 > Kernel command line: mem=64M console=ttyS0,115200 > mtdparts=atmel_nand:4M(bootstrap/uboot/kernel)ro,70M(rootfs),-(data) > root=/dev/mtdblock1 rw rootfstype=jffs2 ip=192.168.1.16:::255.255.255.0::: > PID hash table entries: 256 (order: -2, 1024 bytes) > Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) > Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) > Memory: 64MB = 64MB total > Memory: 60848k/60848k available, 4688k reserved, 0K highmem > Virtual kernel memory layout: > vector : 0xffff0000 - 0xffff1000 ( 4 kB) > fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) > vmalloc : 0xc4800000 - 0xff000000 ( 936 MB) > lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) > modules : 0xbf000000 - 0xc0000000 ( 16 MB) > .text : 0xc0008000 - 0xc039fee8 (3680 kB) > .init : 0xc03a0000 - 0xc03bd7c4 ( 118 kB) > .data : 0xc03be000 - 0xc03e8f00 ( 172 kB) > .bss : 0xc03e8f24 - 0xc03fb138 ( 73 kB) > NR_IRQS:192 > AT91: 96 gpio irqs in 3 banks > sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every > 4294967286ms > Console: colour dummy device 80x30 > Calibrating delay loop... 98.71 BogoMIPS (lpj=493568) > pid_max: default: 32768 minimum: 301 > Mount-cache hash table entries: 512 > CPU: Testing write buffer coherency: ok > Setting up static identity map for 0x202af150 - 0x202af1a8 > devtmpfs: initialized > NET: Registered protocol family 16 > AT91: Power Management (with slow clock mode) > AT91: Starting after software reset > bio: create slab at 0 > SCSI subsystem initialized > usbcore: registered new interface driver usbfs > usbcore: registered new interface driver hub > usbcore: registered new device driver usb > Advanced Linux Sound Architecture Driver Version 1.0.25. > Switching to clocksource pit > cfg80211: Calling CRDA to update world regulatory domain > NET: Registered protocol family 2 > IP route cache hash table entries: 1024 (order: 0, 4096 bytes) > TCP established hash table entries: 2048 (order: 2, 16384 bytes) > TCP bind hash table entries: 2048 (order: 1, 8192 bytes) > TCP: Hash tables configured (established 2048 bind 2048) > TCP: reno registered > UDP hash table entries: 256 (order: 0, 4096 bytes) > UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) > NET: Registered protocol family 1 > RPC: Registered named UNIX socket transport module. > RPC: Registered udp transport module. > RPC: Registered tcp transport module. > RPC: Registered tcp NFSv4.1 backchannel transport module. > jffs2: version 2.2. (NAND) (SUMMARY) ? 2001-2006 Red Hat, Inc. > msgmni has been set to 118 > io scheduler noop registered (default) > atmel_usart.0: ttyS0 at MMIO 0xfffff200 (irq = 1) is a ATMEL_SERIAL > console [ttyS0] enabled > atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL > atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL > brd: module loaded > loop: module loaded > atmel_nand: Use On Flash BBT > atmel_nand atmel_nand: No DMA support for NAND access. > NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB > 3,3V 8-bit), page size: 2048, OOB size: 64 > Bad block table found at page 131008, version 0x01 > Bad block table found at page 130944, version 0x01 > nand_read_bbt: bad block at 0x000009840000 > nand_read_bbt: bad block at 0x00000fb80000 > 3 cmdlinepart partitions found on MTD device atmel_nand > Creating 3 MTD partitions on "atmel_nand": > 0x000000000000-0x000000400000 : "bootstrap/uboot/kernel" > 0x000000400000-0x000004a00000 : "rootfs" > 0x000004a00000-0x000010000000 : "data" > MACB_mii_bus: probed > macb macb: eth0: Cadence MACB at 0xfffc4000 irq 21 (3a:1f:34:08:54:54) > macb macb: eth0: attached PHY driver [Davicom DM9161A] > (mii_bus:phy_addr=macb-ffffffff:00, irq=-1) > ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver > at91_ohci at91_ohci: can't request overcurrent gpio 0 > at91_ohci at91_ohci: AT91 OHCI > at91_ohci at91_ohci: new USB bus registered, assigned bus number 1 > at91_ohci at91_ohci: irq 20, io mem 0x00500000 > usb usb1: New USB device found, idVendor=1d6b, idProduct=0001 > usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 > usb usb1: Product: AT91 OHCI > usb usb1: Manufacturer: Linux 3.5.0 ohci_hcd > usb usb1: SerialNumber: at91 > hub 1-0:1.0: USB hub found > hub 1-0:1.0: 2 ports detected > usbcore: registered new interface driver cdc_acm > cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters > Initializing USB Mass Storage driver... > usbcore: registered new interface driver usb-storage > USB Mass Storage support registered. > mousedev: PS/2 mouse device common for all mice > TCP: cubic registered > NET: Registered protocol family 17 > lib80211: common routines for IEEE802.11 drivers > VFP support v0.3: not present > input: gpio-keys as /devices/platform/gpio-keys/input/input0 > /home/ldesroches/workspace/linux/drivers/rtc/hctosys.c: unable to open > rtc device (rtc0) > IP-Config: Complete: > device=eth0, addr=192.168.1.16, mask=255.255.255.0, > gw=255.255.255.255 > host=192.168.1.16, domain=, nis-domain=(none) > bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath= > ALSA device list: > No soundcards found. > macb macb: eth0: link up (100/Full) > jffs2: Empty flash at 0x01fb1c68 ends at 0x01fb2000 > VFS: Mounted root (jffs2 filesystem) on device 31:1. > devtmpfs: mounted > Freeing init memory: 116K > Starting logging: OK > Populating using udev: udevd[468]: starting version 182 > done > Starting portmap: done > Initializing random number generator... done. > Starting network... > ip: RTNETLINK answers: File exists > Starting sshd: OK > > Welcome to Buildroot > at91 login: root > [root at at91 ~]# > [root at at91 ~]# > [root at at91 ~]# export PS1="$PS1 [rc=$(echo \$?)]: " > [root at at91 ~]# [rc=0]: mount -t jffs2 /dev/mtdblock2 /mnt/ > jffs2: Empty flash at 0x01fb1c68 ends at 0x01fb2000 > o_at91_lava/tmp [rc=0]: rm -rf /tmp/lava_results.tgz > /tmp//srv/lava/instances/rf > [root at at91 ~]# [rc=0]: mkdir -p /tmp//srv/lava/instances/rfo_at91_lava/tmp > tmp//srv/lava/instances/rfo_at91_lava/tmp/instances/rfo_at91_lava/tmp/*.bundle > / > eroot at at91 ~]# [rc=0]: rm -f > /mnt//srv/lava/instances/rfo_at91_lava/tmp/*.bundl > [root at at91 ~]# [rc=0]: umount /mnt/ > [root at at91 ~]# [rc=0]: ------------[ cut here ]------------ > kernel BUG at /home/ldesroches/workspace/linux/kernel/timer.c:1091! > Internal error: Oops - BUG: 0 [#1] ARM > Modules linked in: > CPU: 0 Not tainted (3.5.0 #10) > PC is at cascade+0x54/0x78 > LR is at cascade+0x60/0x78 > pc : [] lr : [] psr: a0000093 > sp : c03bfec8 ip : ffffae00 fp : 00000000 > r10: c03ee540 r9 : 0000000a r8 : 00000100 > r7 : c03bfec8 r6 : c03bfec8 r5 : 0000002e r4 : c03ee6a0 > r3 : 00000000 r2 : 00000068 r1 : c3a60738 r0 : c03ee9ec > Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel > Control: 0005317f Table: 23a58000 DAC: 00000017 > Process swapper (pid: 0, stack limit = 0xc03be270) > Stack: (0xc03bfec8 to 0xc03c0000) > fec0: c03faf70 c3a60738 0000002e c03ee6a0 c03be000 > 00000000 > fee0: c03ee560 c0023d98 c0145bc4 c3952ba0 00000000 00000000 c03cddf4 > 00000001 > ff00: 00000004 c03be000 c03ee560 00000100 c03ee540 c001f4b0 000027da > c03cddf4 > ff20: 00000000 00000001 c03bff9c 00000001 00000000 fefff000 c03bff9c > 20004000 > ff40: 41069265 203b834c 00000000 c001f890 fefff000 c000dfc8 c000e0cc > c000e0e0 > ff60: a0000013 c000d398 00000000 0005317f 0005217f a0000013 c03be000 > c03c8f54 > ff80: c03e8fe8 c047c300 20004000 41069265 203b834c 00000000 a00000d3 > c03bffb0 > ffa0: c000e0cc c000e0e0 a0000013 ffffffff c000e0b4 c000e27c c03c60b0 > ffffffff > ffc0: c03b9784 c03a070c ffffffff ffffffff c03a0274 00000000 00000000 > c03b9784 > ffe0: 00000000 00053175 c03c603c c03b9780 c03c8f4c 20008040 00000000 > 00000000 > [] (cascade+0x54/0x78) from [] > (run_timer_softirq+0x68/0x1f4) > [] (run_timer_softirq+0x68/0x1f4) from [] > (__do_softirq+0x7c/0x110) > [] (__do_softirq+0x7c/0x110) from [] > (irq_exit+0x40/0x4c) > [] (irq_exit+0x40/0x4c) from [] (handle_IRQ+0x74/0x98) > [] (handle_IRQ+0x74/0x98) from [] (__irq_svc+0x38/0x60) > [] (__irq_svc+0x38/0x60) from [] > (default_idle+0x2c/0x34) > [] (default_idle+0x2c/0x34) from [] > (cpu_idle+0x78/0xd8) > [] (cpu_idle+0x78/0xd8) from [] > (start_kernel+0x280/0x2d0) > Code: e591300c e3c33001 e1540003 0a000000 (e7f001f2) > ---[ end trace 6105dc3872c7de5d ]--- > Kernel panic - not syncing: Fatal exception in interrupt > > > > > > Starting kernel ... > > Uncompressing Linux... done, booting the kernel. > Booting Linux on physical CPU 0 > Linux version 3.5.0 (ldesroches at ibiza) (gcc version 4.6.1 (Ubuntu/Linaro > 4.6.1-9ubuntu3) ) #10 Wed Aug 22 09:17:23 CEST 2012 > CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177 > CPU: VIVT data cache, VIVT instruction cache > Machine: Atmel AT91SAM9260-EK > Memory policy: ECC disabled, Data cache writeback > AT91: Detected soc type: at91sam9260 > AT91: Detected soc subtype: Unknown > AT91: sram at 0x2ff000 of 0x2000 mapped at 0xfef76000 > Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz > Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 > Kernel command line: mem=64M console=ttyS0,115200 > mtdparts=atmel_nand:4M(bootstrap/uboot/kernel)ro,70M(rootfs),-(data) > root=/dev/mtdblock1 rw rootfstype=jffs2 ip=192.168.1.16:::255.255.255.0::: > PID hash table entries: 256 (order: -2, 1024 bytes) > Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) > Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) > Memory: 64MB = 64MB total > Memory: 60848k/60848k available, 4688k reserved, 0K highmem > Virtual kernel memory layout: > vector : 0xffff0000 - 0xffff1000 ( 4 kB) > fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) > vmalloc : 0xc4800000 - 0xff000000 ( 936 MB) > lowmem : 0xc0000000 - 0xc4000000 ( 64 MB) > modules : 0xbf000000 - 0xc0000000 ( 16 MB) > .text : 0xc0008000 - 0xc039fee8 (3680 kB) > .init : 0xc03a0000 - 0xc03bd7c4 ( 118 kB) > .data : 0xc03be000 - 0xc03e8f00 ( 172 kB) > .bss : 0xc03e8f24 - 0xc03fb138 ( 73 kB) > NR_IRQS:192 > AT91: 96 gpio irqs in 3 banks > sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every > 4294967286ms > Console: colour dummy device 80x30 > Calibrating delay loop... 98.71 BogoMIPS (lpj=493568) > pid_max: default: 32768 minimum: 301 > Mount-cache hash table entries: 512 > CPU: Testing write buffer coherency: ok > Setting up static identity map for 0x202af150 - 0x202af1a8 > devtmpfs: initialized > NET: Registered protocol family 16 > AT91: Power Management (with slow clock mode) > AT91: Starting after software reset > bio: create slab at 0 > SCSI subsystem initialized > usbcore: registered new interface driver usbfs > usbcore: registered new interface driver hub > usbcore: registered new device driver usb > Advanced Linux Sound Architecture Driver Version 1.0.25. > Switching to clocksource pit > cfg80211: Calling CRDA to update world regulatory domain > NET: Registered protocol family 2 > IP route cache hash table entries: 1024 (order: 0, 4096 bytes) > TCP established hash table entries: 2048 (order: 2, 16384 bytes) > TCP bind hash table entries: 2048 (order: 1, 8192 bytes) > TCP: Hash tables configured (established 2048 bind 2048) > TCP: reno registered > UDP hash table entries: 256 (order: 0, 4096 bytes) > UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) > NET: Registered protocol family 1 > RPC: Registered named UNIX socket transport module. > RPC: Registered udp transport module. > RPC: Registered tcp transport module. > RPC: Registered tcp NFSv4.1 backchannel transport module. > jffs2: version 2.2. (NAND) (SUMMARY) ? 2001-2006 Red Hat, Inc. > msgmni has been set to 118 > io scheduler noop registered (default) > atmel_usart.0: ttyS0 at MMIO 0xfffff200 (irq = 1) is a ATMEL_SERIAL > console [ttyS0] enabled > atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL > atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL > brd: module loaded > loop: module loaded > atmel_nand: Use On Flash BBT > atmel_nand atmel_nand: No DMA support for NAND access. > NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB > 3,3V 8-bit), page size: 2048, OOB size: 64 > Bad block table found at page 131008, version 0x01 > Bad block table found at page 130944, version 0x01 > nand_read_bbt: bad block at 0x000009840000 > nand_read_bbt: bad block at 0x00000fb80000 > 3 cmdlinepart partitions found on MTD device atmel_nand > Creating 3 MTD partitions on "atmel_nand": > 0x000000000000-0x000000400000 : "bootstrap/uboot/kernel" > 0x000000400000-0x000004a00000 : "rootfs" > 0x000004a00000-0x000010000000 : "data" > MACB_mii_bus: probed > macb macb: eth0: Cadence MACB at 0xfffc4000 irq 21 (3a:1f:34:08:54:54) > macb macb: eth0: attached PHY driver [Davicom DM9161A] > (mii_bus:phy_addr=macb-ffffffff:00, irq=-1) > ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver > at91_ohci at91_ohci: can't request overcurrent gpio 0 > at91_ohci at91_ohci: AT91 OHCI > at91_ohci at91_ohci: new USB bus registered, assigned bus number 1 > at91_ohci at91_ohci: irq 20, io mem 0x00500000 > usb usb1: New USB device found, idVendor=1d6b, idProduct=0001 > usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 > usb usb1: Product: AT91 OHCI > usb usb1: Manufacturer: Linux 3.5.0 ohci_hcd > usb usb1: SerialNumber: at91 > hub 1-0:1.0: USB hub found > hub 1-0:1.0: 2 ports detected > usbcore: registered new interface driver cdc_acm > cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters > Initializing USB Mass Storage driver... > usbcore: registered new interface driver usb-storage > USB Mass Storage support registered. > mousedev: PS/2 mouse device common for all mice > TCP: cubic registered > NET: Registered protocol family 17 > lib80211: common routines for IEEE802.11 drivers > VFP support v0.3: not present > input: gpio-keys as /devices/platform/gpio-keys/input/input0 > /home/ldesroches/workspace/linux/drivers/rtc/hctosys.c: unable to open > rtc device (rtc0) > IP-Config: Complete: > device=eth0, addr=192.168.1.16, mask=255.255.255.0, > gw=255.255.255.255 > host=192.168.1.16, domain=, nis-domain=(none) > bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath= > ALSA device list: > No soundcards found. > macb macb: eth0: link up (100/Full) > jffs2: Empty flash at 0x01fb1c68 ends at 0x01fb2000 > VFS: Mounted root (jffs2 filesystem) on device 31:1. > devtmpfs: mounted > Freeing init memory: 116K > Starting logging: OK > Populating using udev: done > udevd[468]: starting version 182 > Starting portmap: done > Initializing random number generator... done. > Starting network... > ip: RTNETLINK answers: File exists > Starting sshd: OK > > Welcome to Buildroot > at91 login: root > [root at at91 ~]# > [root at at91 ~]# > [root at at91 ~]# export PS1="$PS1 [rc=$(echo \$?)]: " > [root at at91 ~]# [rc=0]: mount -t jffs2 /dev/mtdblock2 /mnt/ > jffs2: Empty flash at 0x01fb1c68 ends at 0x01fb2000 > o_at91_lava/tmp [rc=0]: rm -rf /tmp/lava_results.tgz > /tmp//srv/lava/instances/rf > [root at at91 ~]# [rc=0]: mkdir -p /tmp//srv/lava/instances/rfo_at91_lava/tmp > tmp//srv/lava/instances/rfo_at91_lava/tmp/instances/rfo_at91_lava/tmp/*.bundle > / > eroot at at91 ~]# [rc=0]: rm -f > /mnt//srv/lava/instances/rfo_at91_lava/tmp/*.bundl > [root at at91 ~]# [rc=0]: umount /mnt/ > [root at at91 ~]# [rc=0]: Unable to handle kernel paging request at > virtual address 0d0c951c > pgd = c0004000 > [0d0c951c] *pgd=00000000 > Internal error: Oops: 80000005 [#1] ARM > Modules linked in: > CPU: 0 Not tainted (3.5.0 #10) > PC is at 0xd0c951c > LR is at run_timer_softirq+0x144/0x1f4 > pc : [<0d0c951c>] lr : [] psr: 20000013 > sp : c03bfee8 ip : 00200200 fp : 00000000 > r10: 0d0c951c r9 : 0000000a r8 : c03bfef0 > r7 : c03ee560 r6 : 00000100 r5 : c03be000 r4 : c03ee6a0 > r3 : 20000013 r2 : 00000000 r1 : c03bfef0 r0 : b5a01535 > Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel > Control: 0005317f Table: 23a58000 DAC: 00000017 > Process swapper (pid: 0, stack limit = 0xc03be270) > Stack: (0xc03bfee8 to 0xc03c0000) > fee0: c0145bc4 c396dba0 c03bfef0 c03bfef0 c03cddf4 > 00000001 > ff00: 00000004 c03be000 c03ee560 00000100 c03ee540 c001f4b0 00002870 > c03cddf4 > ff20: 00000000 00000001 c03bff9c 00000001 00000000 fefff000 c03bff9c > 20004000 > ff40: 41069265 203b834c 00000000 c001f890 fefff000 c000dfc8 c000e0cc > c000e0e0 > ff60: a0000013 c000d398 00000000 0005317f 0005217f a0000013 c03be000 > c03c8f54 > ff80: c03e8fe8 c047c300 20004000 41069265 203b834c 00000000 a00000d3 > c03bffb0 > ffa0: c000e0cc c000e0e0 a0000013 ffffffff c000e0b4 c000e27c c03c60b0 > ffffffff > ffc0: c03b9784 c03a070c ffffffff ffffffff c03a0274 00000000 00000000 > c03b9784 > ffe0: 00000000 00053175 c03c603c c03b9780 c03c8f4c 20008040 00000000 > 00000000 > [] (run_timer_softirq+0x144/0x1f4) from [] > (__do_softirq+0x7c/0x110) > [] (__do_softirq+0x7c/0x110) from [] > (irq_exit+0x40/0x4c) > [] (irq_exit+0x40/0x4c) from [] (handle_IRQ+0x74/0x98) > [] (handle_IRQ+0x74/0x98) from [] (__irq_svc+0x38/0x60) > [] (__irq_svc+0x38/0x60) from [] > (default_idle+0x2c/0x34) > [] (default_idle+0x2c/0x34) from [] > (cpu_idle+0x78/0xd8) > [] (cpu_idle+0x78/0xd8) from [] > (start_kernel+0x280/0x2d0) > Code: bad PC value > ---[ end trace f65db9c681fbd6e3 ]--- > Kernel panic - not syncing: Fatal exception in interrupt > > > > Regards > > Ludovic > > After bisection the commit causing this issue is: commit 8bdc81c5069e43755d6e59e5e990e21ca200e8e2 Author: Artem Bityutskiy Date: Mon May 7 19:56:53 2012 +0300 jffs2: get rid of jffs2_sync_super Currently JFFS2 file-system maps the VFS "superblock" abstraction to the write-buffer. Namely, it uses VFS services to synchronize the write-buffer periodically. The whole "superblock write-out" VFS infrastructure is served by the 'sync_supers()' kernel thread, which wakes up every 5 (by default) seconds and writes out all dirty superblock using the '->write_super()' call-back. But the problem with this thread is that it wastes power by waking up the system every 5 seconds no matter what. So we want to kill it completely and thus, we need to make file-systems to stop using the '->write_super' VFS service, and then remove it together with the kernel thread. This patch switches the JFFS2 write-buffer management from '->write_super()'/'->s_dirt' to a delayed work. Instead of setting the 's_dirt' flag we just schedule a delayed work for synchronizing the write-buffer. Signed-off-by: Artem Bityutskiy Signed-off-by: Al Viro Once reverted my issue disappeared. Tests have been done on at91sam9m10g45. Regards Ludovic