Dear All,
My customer found a EXT4-fs error case in TF card after several days. Attached is error log. They suspected this is MMC driver bug. They found there is mmc multi block read/write bug revise on Ti git, they are trying to test this case based on Linux 4.1 Do you have any suggestion on this case? Thanks a lot.
Error Log:
EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:739: group 17, 33 clusters in bitmap, 0 in gd
JBD2: Spotted dirty metadata buffer (dev = mmcblk0p2, blocknr = 0). There's a risk of filesystem corruption in case of system crash.
[BEGIN] 2016/8/3 14:44:07
U-Boot SPL 2011.09 (Nov 06 2014 - 11:38:29)
Texas Instruments Revision detection unimplemented
Booting from MMC...
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img
U-Boot 2011.09 (Nov 06 2014 - 11:38:29)
I2C: ready
DRAM: 512 MiB
WARNING: Caches not enabled
Did not find a recognized configuration, assuming General purpose EVM in Profile 0 with Daughter board
NAND: HW ECC Hamming Code selected
No NAND device found!!!
0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment
Net: cpsw
Hit any key to stop autoboot: 0
sysboot[4-0]: 0x1C ... sdboot.
SD/MMC found on device 0
reading uEnv.txt
367 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc ...
Running uenvcmd ...
reading uImage
3932096 bytes read
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: Linux-3.2.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3932032 Bytes = 3.7 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 3.2.0 (tom@dev-server-pc) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #71 Wed Feb 4 11:33:17 CST 2015
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: am335xevm
Memory policy: ECC disabled, Data cache writeback
[MYIR_DBG] idcode: 0X2B94402E, hawkeye: 0XB944, rev = 0X2
AM335X ES2.1 (neon )
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttyO0,115200n8 board-am335xevm.display_mode=lcd4i3 root=/dev/mmcblk0p2 rw rootdelay=1 noinitrd rootfstype=ext4
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 511892k/511892k available, 12396k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.text : 0xc0008000 - 0xc06cb000 (6924 kB)
.init : 0xc06cb000 - 0xc070d000 ( 264 kB)
.data : 0xc070e000 - 0xc0780f58 ( 460 kB)
.bss : 0xc0780f7c - 0xc07ac8c4 ( 175 kB)
NR_IRQS:396
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Total of 128 interrupts on 1 active controller
OMAP clockevent source: GPTIMER2 at 24000000 Hz
omap_dm_timer_switch_src: Switching to HW default clocksource(sys_clkin_ck) for timer1, this may impact timekeeping in low power state
OMAP clocksource: GPTIMER1 at 24000000 Hz
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
Console: colour dummy device 80x30
Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
omap_hwmod: gfx: failed to hardreset
omap_hwmod: pruss: failed to hardreset
print_constraints: dummy:
NET: Registered protocol family 16
OMAP GPIO hardware version 0.1
omap_mux_init: Add partition: #1: core, flags: 0
omap_i2c.1: alias fck already exists
omap_i2c.2: alias fck already exists
The board is MYD-AM335X.
omap_hsmmc.0: alias fck already exists
_omap_mux_get_by_name: Could not find signal ain4.ain4
_omap_mux_get_by_name: Could not find signal ain5.ain5
_omap_mux_get_by_name: Could not find signal ain6.ain6
_omap_mux_get_by_name: Could not find signal ain7.ain7
[MYIR_DBG] AM335X_EFUSE_SMA: 0X11E2F, mpu freq code: 0X1E2F
[MYIR_DBG]refix default opp to 3 (mpu freq: 800 MHz)
[MYIR_DBG] use the new sr_sensor_data!!!
address of pdata = c0716038
registered am33xx_sr device
omap2_mcspi.1: alias fck already exists
omap2_mcspi.2: alias fck already exists
edma.0: alias fck already exists
edma.0: alias fck already exists
edma.0: alias fck already exists
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
registerd cppi-dma Intr @ IRQ 17
Cppi41 Init Done Qmgr-base(e087a000) dma-base(e0878000)
Cppi41 Init Done
musb-ti81xx musb-ti81xx: musb0, board_mode=0x11, plat_mode=0x1
musb-ti81xx musb-ti81xx: musb1, board_mode=0x11, plat_mode=0x1
omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
tps65217 1-0024: TPS65217 ID 0xe version 1.2
print_constraints: DCDC1: 900 <--> 1800 mV at 1500 mV
print_constraints: DCDC2: 900 <--> 3300 mV at 1275 mV
print_constraints: DCDC3: 900 <--> 1500 mV at 1125 mV
print_constraints: LDO1: 1000 <--> 3300 mV at 1800 mV
print_constraints: LDO2: 900 <--> 3300 mV at 3300 mV
print_constraints: LDO3: 1800 <--> 3300 mV at 1800 mV
print_constraints: LDO4: 1800 <--> 3300 mV at 3300 mV
omap_i2c omap_i2c.2: bus 2 rev2.4.0 at 100 kHz
Advanced Linux Sound Architecture Driver Version 1.0.24.
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource gp timer
musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
musb-hdrc musb-hdrc.0: dma type: dma-cppi41
MUSB0 controller's USBSS revision = 4ea20800
musb-hdrc musb-hdrc.0: MUSB HDRC host driver
musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: MUSB HDRC host driver
usb usb1: Manufacturer: Linux 3.2.0 musb-hcd
usb usb1: SerialNumber: musb-hdrc.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
musb-hdrc musb-hdrc.0: USB Host mode controller at e083c000 using DMA, IRQ 18
musb-hdrc musb-hdrc.1: dma type: dma-cppi41
MUSB1 controller's USBSS revision = 4ea20800
musb-hdrc musb-hdrc.1: MUSB HDRC host driver
musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: MUSB HDRC host driver
usb usb2: Manufacturer: Linux 3.2.0 musb-hcd
usb usb2: SerialNumber: musb-hdrc.1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
musb-hdrc musb-hdrc.1: USB Host mode controller at e083e800 using DMA, IRQ 19
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
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.
NetWinder Floating Point Emulator V0.97 (double precision)
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
msgmni has been set to 999
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
console [ttyO0] enabled
omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
omap_uart: probe of omap_uart.5 failed with error -22
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
i2c-core: driver [tsl2550] using legacy suspend method
i2c-core: driver [tsl2550] using legacy resume method
at24 1-0050: 4096 byte at24 EEPROM, writable, 32 bytes/write
mtdoops: mtd device (mtddev=name/number) must be supplied
omap2-nand driver initializing
OneNAND driver initializing
CAN device driver interface
CAN bus driver for Bosch D_CAN controller 1.0
davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
davinci_mdio davinci_mdio.0: detected phy mask ffffffaf
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[4]: device 0:04, driver unknown
davinci_mdio davinci_mdio.0: phy[6]: device 0:06, driver unknown
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP Deflate Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
usbcore: registered new interface driver zd1201
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver cdc_eem
usbcore: registered new interface driver dm9601
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
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
rtc-ds1302 rtc-ds1302: rtc core: registered ds1302 as rtc0
i2c /dev entries driver
lirc_dev: IR Remote Control driver registered, major 252
IR NEC protocol handler initialized
IR RC5(x) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR RC5 (streamzap) protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR LIRC bridge handler initialized
Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
watchdog gpio: 104
myir-watchdog driver initialized successfully!
cpuidle: using governor ladder
cpuidle: using governor menu
omap4_aes_mod_init: loading AM33X AES driver
omap4-aes omap4-aes: AM33X AES hw accel rev: 3.02
omap4_aes_probe: probe() done
omap4_sham_mod_init: loading AM33X SHA/MD5 driver
omap4-sham omap4-sham: AM33X SHA/MD5 hw accel rev: 4.03
omap4_sham_probe: probe() done
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
ALSA device list:
No soundcards found.
oprofile: hardware counters not available
oprofile: using timer interrupt.
nf_conntrack version 0.5.0 (7998 buckets, 31992 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
lib80211: common routines for IEEE802.11 drivers
Registering the dns_resolver key type
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
ThumbEE CPU extension supported.
mux: Failed to setup hwmod io irq -22
Power Management for AM33XX family
Trying to load am335x-pm-firmware.bin (60 secs timeout)
Copied the M3 firmware to UMEM
Compensating OPP0 for 0mV Orig nvalue:0x99d3b9 New nvalue:0x99d3b9
Compensating OPP1 for 0mV Orig nvalue:0x999583 New nvalue:0x999583
Compensating OPP0 for 0mV Orig nvalue:0x99cdbd New nvalue:0x99cdbd
Compensating OPP1 for 0mV Orig nvalue:0x999889 New nvalue:0x999889
Compensating OPP2 for 0mV Orig nvalue:0xaaedd7 New nvalue:0xaaedd7
Compensating OPP3 for 0mV Orig nvalue:0xaacab7 New nvalue:0xaacab7
Compensating OPP4 for 25887130mV Orig nvalue:0xaacab7 New nvalue:0xff0000
create_regulator: DCDC2: Failed to create debugfs directory
smartreflex smartreflex: am33xx_sr_probe: Driver initialized
clock: disabling unused clocks to save power
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new high speed SDHC card at address 0007
mmcblk0: mmc0:0007 SL16G 14.4 GiB
mmcblk0: p1 p2
Detected MACID=80:30:dc:86:25:da
cpsw: Detected MACID = 80:30:dc:86:25:dc
input: gpio-keys as /devices/platform/gpio-keys/input/input0
rtc-ds1302 rtc-ds1302: setting system clock to 2016-08-03 06:42:38 UTC (1470206558)
Waiting 1sec before mounting root device...
EXT4-fs (mmcblk0p2): warning: mounting fs with errors, running e2fsck is recommended
EXT4-fs (mmcblk0p2): recovery complete
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing init memory: 264K
EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:739: group 17, 33 clusters in bitmap, 0 in gd
JBD2: Spotted dirty metadata buffer (dev = mmcblk0p2, blocknr = 0). There's a risk of filesystem corruption in case of system crash.
INIT: version 2.88 booting
INIT: Entering runlevel: 5
Poky (Yocto Project Reference Distro) 1.6+snapshot-20140513 (none) /dev/ttyO0
(none) login: root
Password:
Login incorrect
(none) login: root
Password:
EXT4-fs error (device mmcblk0p2): ext4_iget:3867: inode #654083: comm login: bad extended attribute block 537133056
No directory, logging in with HOME=/
EXT4-fs error (device mmcblk0p2): ext4_iget:3867: inode #654083: comm login: bad extended attribute block 537133056
Poky (Yocto Project Reference Distro) 1.6+snapshot-20140513 (none) /dev/ttyO0
[END] 2016/8/3 14:45:55