[#3925] sdio mmc on bf548 fails to load ext2 filesystem

Document created by Aaronwu Employee on Aug 28, 2013
Version 1Show Document
  • View in full screen mode

[#3925] sdio mmc on bf548 fails to load ext2 filesystem

Submitted By: Vivi Li

Open Date

2008-02-21 06:49:53     Close Date

2008-03-17 04:52:16

Priority:

Medium High     Assignee:

Cliff Cai

Status:

Closed     Fixed In Release:

N/A

Found In Release:

N/A     Release:

Category:

N/A     Board:

N/A

Processor:

N/A     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

N/A

Uboot version or rev.:

    Toolchain version or rev.:

08r1

App binary format:

N/A     

Summary: sdio mmc on bf548 fails to load ext2 filesystem

Details:

 

For sdiommc on bf548 in 08r1 branch, it will fail to mount ext2 file system for the second time.

 

Log is as below:

--

Linux version 2.6.22.18-ADI-2008R1-svn4311 (test@uclinux84-bf548-kernel) (gcc version 4.1.2 (ADI sv8

Hardware Trace Active and Enabled

Reset caused by Software reset

Blackfin support (C) 2004-2007 Analog Devices, Inc.

Compiled for ADSP-BF548 Rev 0.0

Blackfin Linux support by   blackfin.uclinux.org/

Processor Speed: 525 MHz core clock and 131 MHz System Clock

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  text      = 0x00001000-0x001814c0

  rodata    = 0x00182000-0x001fd104

  data      = 0x001fe000-0x00216000

    stack   = 0x001fe000-0x00200000

  init      = 0x00216000-0x005be000

  bss       = 0x005be000-0x005cf610

  available = 0x005cf610-0x03dff000

  DMA Zone  = 0x03e00000-0x04000000

Instruction Cache Enabled

Data Cache Enabled (write-through)

Built 1 zonelists.  Total pages: 15748

Kernel command line: root=/dev/mtdblock0 rw ip=10.100.4.50:10.100.4.174:10.100.4.174:255.255.255.0:f

Configuring Blackfin Priority Driven Interrupts

PID hash table entries: 256 (order: 8, 1024 bytes)

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 56956k/65536k RAM, (3744k init code, 1537k kernel code, 664k data, 2048k dma, 584)

Blackfin Scratchpad data SRAM: 4 KB

Blackfin Data A SRAM: 16 KB (15 KB free)

Blackfin Data B SRAM: 16 KB (16 KB free)

Blackfin Instruction SRAM: 48 KB (42 KB free)

Security Framework v1.0.0 initialized

Mount-cache hash table entries: 512

NET: Registered protocol family 16

Blackfin GPIO Controller

Blackfin DMA Controller

ezkit_init(): registering device resources

SCSI subsystem initialized

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

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

bf54x-lq043: FrameBuffer initializing...

dma_alloc_init: dma_page @ 0x030fc000 - 512 pages at 0x03e00000

bfin-otp: initialized

bfin-wdt: initialized: timeout=20 sec (nowayout=0)

Serial: Blackfin serial driver

bfin-uart.1: ttyBF0 at MMIO 0xffc02000 (irq = 48) is a BFIN-UART

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

smsc911x: Driver version 2007-07-13.

register bfin atapi driver

scsi0 : pata-bf54x

ata1: PATA max UDMA/66 cmd 0x00000000 ctl 0xffc03800 bmdma 0x00000000 irq 68

ata1.00: ATA-6: TOSHIBA MK4032GAX, AD101A, max UDMA/100

ata1.00: 78140160 sectors, multi 16: LBA48

ata1.00: configured for UDMA/66

blk_queue_max_hw_segments: set to minimum 1

scsi 0:0:0:0: Direct-Access     ATA      TOSHIBA MK4032GA AD10 PQ: 0 ANSI: 5

sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors (40008 MB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sd 0:0:0:0: [sda] 78140160 512-byte hardware sectors (40008 MB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

sda: sda1 sda2

sd 0:0:0:0: [sda] Attached SCSI disk

physmap platform flash device: 00400000 at 20000000

physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank

NOR chip too large to fit in mapping. Attempting to cope...

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Intel/Sharp Extended Query Table at 0x010A

Using buffer write method

Using auto-unlock on power-up/resume

cfi_cmdset_0001: Erase suspend on write enabled

Reducing visibility of 32768KiB chip to 4096KiB

RedBoot partition parsing not available

bfin-spi bfin-spi.0: Blackfin BF5xx on-chip SPI Contoller Driver, Version 1.0, regs_base@ffc00500, 4

bfin-spi bfin-spi.1: Blackfin BF5xx on-chip SPI Contoller Driver, Version 1.0, regs_base@ffc02300, 5

input: bf54x-keys as /class/input/input0

bf54x-keys: Blackfin BF54x Keypad registered IRQ 76

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

i2c /dev entries driver

i2c-bfin-twi i2c-bfin-twi.1: Blackfin BF5xx on-chip I2C TWI Contoller Driver, Version 1.8, regs_bas0

Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).

ASoC version 0.13.1

AD1980 SoC Audio Codec

asoc: AC97 <-> bf5xx-ac97 mapping ok

ALSA device list:

  #0: bf5xx-board (AD1980-MMAP)

TCP cubic registered

NET: Registered protocol family 1

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting the system clock to 2004-05-31 19:35:54 (1086032154)

mmcblk0: mmc0:e624 SD01G 992000KiB

mmcblk0: p1

eth0: SMSC911x/921x identified at 0x24000000, IRQ: 175

eth0: SMSC911x MAC Address: b6:db:69:a7:02:8e

eth0: link down

IP-Config: Complete:

      device=eth0, addr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174,

     host=BF548, domain=, nis-domain=(none),

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

Freeing unused kernel memory: 3744k freed

eth0: link up, 100Mbps, full-duplex, lpa 0x41E1

                           _____________________________________

        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            -   blackfin.uclinux.org/

\    YP"    `| 8P  `.          -   docs.blackfin.uclinux.org/

/     \.___.d|    .'           -   www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    -   www.analog.com/blackfin

 

Have a lot of fun...

 

 

BusyBox v1.4.1 (2008-02-21 08:25:15 CST) Built-in shell (msh)

Enter 'help' for a list of built-in commands.

 

root:/> fdisk /dev/mmcblk0

 

The number of cylinders for this disk is set to 31000.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)

 

Command (m for help): p

 

Disk /dev/mmcblk0: 4 heads, 16 sectors, 31000 cylinders

Units = cylinders of 64 * 512 bytes

 

        Device Boot    Start       End    Blocks   Id  System

/dev/mmcblk0p1             1      8193    262168   83  Linux

 

Command (m for help): q

 

root:/> mke2fs /dev/mmcblk0p1

mke2fs 1.39 (29-May-2006)

warning: 23 blocks unused.

 

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

33024 inodes, 262145 blocks

13108 blocks (5%) reserved for the super user

First data block=1

32 block groups

8192 blocks per group, 8192 fragments per group

1032 inodes per group

Superblock backups stored on blocks:

        8193, 24577, 40961, 57345, 73729, 204801, 221185

 

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 25 mounts or

180.00 days, whichever comes first.  Use tune2fs -c or -i to override.

root:/> mount -t ext2 /dev/mmcblk0p1 /mnt/

root:/> ls /mnt/

lost+found

root:/> umount /mnt/

root:/> mount

rootfs on / type rootfs (rw)

proc on /proc type proc (rw)

ramfs on /var type ramfs (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw)

debugfs on /sys/kernel/debug type debugfs (rw)

securityfs on /sys/kernel/security type securityfs (rw)

root:/> mount -t ext2 /dev/mmcblk0p1 /mnt/

mount: mounting /dev/mmcblk0p1 on /mnt/ failed

root:/>

--

 

Even if ext2 fs can be mounted successfully, it still got error message when use this filesystem.

 

Log is as below:

--

root:/> fdisk /dev/mmcblk0

 

The number of cylinders for this disk is set to 31000.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)

 

Command (m for help): p

 

Disk /dev/mmcblk0: 4 heads, 16 sectors, 31000 cylinders

Units = cylinders of 64 * 512 bytes

 

        Device Boot    Start       End    Blocks   Id  System

/dev/mmcblk0p1             1      8193    262168   83  Linux

/dev/mmcblk0p2          8194     31000    729824    6  FAT16

 

Command (m for help): q

 

root:/> mke2fs /dev/mmcblk0p1

mke2fs 1.39 (29-May-2006)

warning: 23 blocks unused.

 

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

33024 inodes, 262145 blocks

13108 blocks (5%) reserved for the super user

First data block=1

32 block groups

8192 blocks per group, 8192 fragments per group

1032 inodes per group

Superblock backups stored on blocks:

        8193, 24577, 40961, 57345, 73729, 204801, 221185

 

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 24 mounts or

180.00 days, whichever comes first.  Use tune2fs -c or -i to override.

root:/> mount -t ext2 /dev/mmcblk0p1 /mnt/

mount: mounting /dev/mmcblk0p1 on /mnt/ failed

root:/> mke2fs /dev/mmcblk0p1

mke2fs 1.39 (29-May-2006)

warning: 23 blocks unused.

 

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

33024 inodes, 262145 blocks

13108 blocks (5%) reserved for the super user

First data block=1

32 block groups

8192 blocks per group, 8192 fragments per group

1032 inodes per group

Superblock backups stored on blocks:

        8193, 24577, 40961, 57345, 73729, 204801, 221185

 

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

 

This filesystem will be automatically checked every 28 mounts or

180.00 days, whichever comes first.  Use tune2fs -c or -i to override.

root:/>

root:/>

root:/> mount -t ext2 /dev/mmcblk0p1 /mnt/

root:/> ls /mnt/

lost+found

root:/> mount

rootfs on / type rootfs (rw)

proc on /proc type proc (rw)

ramfs on /var type ramfs (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw)

debugfs on /sys/kernel/debug type debugfs (rw)

securityfs on /sys/kernel/security type securityfs (rw)

/dev/mmcblk0p1 on /mnt type ext2 (rw)

root:/> cp /sbin/busybox /mnt/

root:/> umount /mnt/

root:/> mount

rootfs on / type rootfs (rw)

proc on /proc type proc (rw)

ramfs on /var type ramfs (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw)

debugfs on /sys/kernel/debug type debugfs (rw)

securityfs on /sys/kernel/security type securityfs (rw)

root:/> mount -t ext2 /dev/mmcblk0p1 /mnt/

root:/> cp /sbin/busybox /mnt/

EXT2-fs error (device mmcblk0p1): ext2_check_page: bad entry in directory #2: rec_len is smaller th8

'/mnt/busybox' exists

root:/> mount

rootfs on / type rootfs (rw)

proc on /proc type proc (rw)

ramfs on /var type ramfs (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw)

debugfs on /sys/kernel/debug type debugfs (rw)

securityfs on /sys/kernel/security type securityfs (rw)

/dev/mmcblk0p1 on /mnt type ext2 (rw)

root:/>

--

 

Follow-ups

 

--- Vivi Li                                                  2008-03-06 04:24:40

Mount ext2 file system and delete an existed file, EXT2-fs error happens again.

 

--

root:/> echo 100 > /proc/sys/vm/pagecache_ratio

root:/> mount -t ext2 /dev/mmcblk0p1 /mnt/

drwxr-xr-x    3 root     root         1.0k Jan 17 01:13 .

drwxr-xr-x   14 root     root            0 Jan  1  2007 ..

drwx------    2 root     root        12.0k Jan 17 01:13 lost+found

root:/> time dd if=/dev/zero of=/mnt/10.bin bs=1M count=10

10+0 records in

10+0 records out

real    0m 5.32s

user    0m 0.00s

sys     0m 0.48s

root:/> umount /mnt/

root:/> mount -t ext2 /dev/mmcblk0p1 /mnt/

root:/> ls -lha /mnt/

drwxr-xr-x    3 root     root         1.0k Jan 17 01:13 .

drwxr-xr-x   14 root     root            0 Jan  1  2007 ..

-rw-r--r--    1 root     root        10.0M Jan 17 01:13 10.bin

drwx------    2 root     root        12.0k Jan 17 01:13 lost+found

root:/> rm /mnt/10.bin

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8385

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8386

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8387

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8388

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8389

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8390

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8391

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8392

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8393

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8394

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8395

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8396

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8397

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8398

EXT2-fs error (device mmcblk0p1): ext2_free_blocks: bit already cleared for

block 8400

...

--

 

--- Cliff Cai                                                2008-03-17 03:09:44

It's ok on v1.3 BF548.

 

Cliff

 

--- Vivi Li                                                  2008-03-17 04:28:02

Yes, it's OK in BF548 v1.3. Should be hardware problem. So close it.

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes