[#3952] excution of "ls" command in vfat fs in BF548 harddisk will fail when vfat partition is large

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

[#3952] excution of "ls" command in vfat fs in BF548 harddisk will fail when vfat partition is large

Submitted By: Vivi Li

Open Date

2008-03-03 05:37:28     Close Date

2008-03-12 03:41:21

Priority:

Medium     Assignee:

Sonic Zhang

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:

Rejected

Uboot version or rev.:

    Toolchain version or rev.:

08r1

App binary format:

N/A     

Summary: excution of "ls" command in vfat fs in BF548 harddisk will fail when vfat partition is large

Details:

 

In 08r1 bf548, mount a vfat filesystem in hard disk and copy file into it, excution of "ls" command in vfat filesystem will fail.

Sometimes no files will be listed, sometimes "ls" lead to crash.

 

If the vfat partition is not greater than 2GB, it's ok.

 

Below is the log:

--

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

early printk enabled on early_BFuart0

Hardware Trace Active and Enabled

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-0x0017d6a0

  rodata    = 0x0017e000-0x001f75f0

  data      = 0x001f8000-0x00210000

    stack   = 0x001f8000-0x001fa000

  init      = 0x00210000-0x005b2000

  bss       = 0x005b2000-0x005c35f0

  available = 0x005c35f0-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 earlyprintk=serial,uart1,57600 console=tty0 console=ttyf

Configuring Blackfin Priority Driven Interrupts

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

console handover: boot [early_BFuart0] -> real [ttyBF0]

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

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

Memory available: 57004k/65536k RAM, (3720k init code, 1521k kernel code, 656k 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 @ 0x030f4000 - 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:

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

BF5xx on-chip NAND FLash Controller Driver, Version 1.2 (c) 2007 Analog Devices, Inc.

bf5xx-nand bf5xx-nand.0: page_size=256, data_width=8, wr_dly=3, rd_dly=3

NAND device: Manufacturer ID: 0x20, Chip ID: 0xda (ST Micro NAND 256MiB 3,3V 8-bit)

Creating 2 MTD partitions on "NAND 256MiB 3,3V 8-bit":

0x00000000-0x00400000 : "Linux Kernel"

0x00400000-0x10000000 : "File System"

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)

TCP cubic registered

NET: Registered protocol family 1

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting the system clock to 1973-01-14 02:15:52 (95825752)

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

eth0: SMSC911x MAC Address: 66:f4:e3:f5:a0:75

eth0: link down

IP-Config: Complete:

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

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

     bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=

Freeing unused kernel memory: 3720k 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-03-03 07:45:46 CST) Built-in shell (msh)

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

 

root:/> fdisk /dev/sda

 

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

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/sda: 255 heads, 63 sectors, 4864 cylinders

Units = cylinders of 16065 * 512 bytes

 

   Device Boot    Start       End    Blocks   Id  System

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-4864, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-4864, default 4864): +3G

 

Command (m for help): t

Partition number (1-4): 1

Hex code (type L to list codes): b

Changed system type of partition 1 to b (Win95 FAT32)

 

Command (m for help): p

 

Disk /dev/sda: 255 heads, 63 sectors, 4864 cylinders

Units = cylinders of 16065 * 512 bytes

 

   Device Boot    Start       End    Blocks   Id  System

/dev/sda1             1       383   3076416    b  Win95 FAT32

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

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

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

 

WARNING: If you have created or modified any DOS 6.x

partitions, please see the fdisk manual page for additional

information.

Syncing disks.

root:/> mkdosfs /dev/sda1

mkdosfs 2.10 (22 Sep 2003)

root:/> df -h

Filesystem                Size      Used Available Use% Mounted on

root:/> mount -t vfat -o sync /dev/sda1 /mnt

root:/> df -h

Filesystem                Size      Used Available Use% Mounted on

/dev/sda1                 2.9G         0      2.9G   0% /mnt

root:/> cp /bin/bu

/bin/bunzip2  /bin/busybox

root:/> cp /bin/busybox /mnt/

root:/> sync

root:/> ls /mnt/

root:/> df -h

Filesystem                Size      Used Available Use% Mounted on

/dev/sda1                 2.9G    512.0k      2.9G   0% /mnt

root:/> umount /mnt/

root:/> mount -t vfat -o sync /dev/sda1 /mnt

root:/> ls /mnt/

root:/> df -h

Filesystem                Size      Used Available Use% Mounted on

/dev/sda1                 2.9G    512.0k      2.9G   0% /mnt

root:/> cp /bin/busybox /mnt/2

root:/> ls /mnt/

root:/> df -h

Filesystem                Size      Used Available Use% Mounted on

/dev/sda1                 2.9G      1.0M      2.9G   0% /mnt

root:/> ls /mnt/2

/mnt/2

root:/> ls /mnt/

root:/> ls /mnt/busybox

/mnt/busybox

root:/> ls /mnt/

root:/mnt> ls

ULL pointer access (probably)

Defered Exception context

CURRENT PROCESS:

COMM=ls PID=182

TEXT = 0x00480040-0x004d1560  DATA = 0x004d1564-0x004e7864

BSS = 0x004e7864-0x004eeec4   USER-STACK = 0x004f6f88

 

return address: [0x0048bd84]; contents of:

0x0048bd60:  9c01  e0a2  1002  c803  1800  9201  9c01  9201

0x0048bd70:  0c42  3298  1005  9073  0010  0c42  1805  e0a2

0x0048bd80:  2003  9819 [9a01] 9073  0010  0000  344b  3200

0x0048bd90:  3219  3212  0c42  1824  0981  1004  50d1  0a18

 

SEQUENCER STATUS:               Not tainted

SEQSTAT: 00000027  IPEND: 0030  SYSCFG: 0006

  HWERRCAUSE: 0x0

  EXCAUSE   : 0x27

RETE: <0x00000000> /* Maybe null pointer? */

RETN: <0x00274000> /* unknown address */

RETX: <0x0048bd84> [ ls + 0xbd44 ]

RETS: <0x0049540a> [ ls + 0x153ca ]

PC  : <0x0048bd84> [ ls + 0xbd44 ]

DCPLB_FAULT_ADDR: <0x00000000> /* Maybe null pointer? */

ICPLB_FAULT_ADDR: <0x0048bd84> [ ls + 0xbd44 ]

 

PROCESSOR STATE:

R0 : 00000000    R1 : 00000031    R2 : 00000001    R3 : 004d280b

R4 : 00000003    R5 : 004f6d8e    R6 : 00000001    R7 : 00000001

P0 : 00000000    P1 : 004f6d8e    P2 : 00000001    P3 : 004f6d8f

P4 : 0000000b    P5 : 004e6dfc    FP : 004f6c3c    SP : 00273f24

LB0: 0048bd85    LT0: 0048bd82    LC0: 00000001

LB1: 0048ad19    LT1: 0048ad18    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 004d3eb6

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 00000000

B2 : 00000000    L2 : 00000000    M2 : 00000000    I2 : 00000000

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 01800000

A0.w: 00000005   A0.x: 00000000   A1.w: 00000005   A1.x: 00000000

USP : 004f6c2c  ASTAT: 02002002

 

Hardware Trace:

   0 Target : <0x00004864> { _trap_c + 0x0 }

     Source : <0xffa006fc> { _exception_to_level5 + 0xb4 }

   1 Target : <0xffa00648> { _exception_to_level5 + 0x0 }

     Source : <0xffa005a0> { _ex_trap_c + 0x5c }

   2 Target : <0xffa00544> { _ex_trap_c + 0x0 }

     Source : <0xffa0079c> { _trap + 0x28 }

   3 Target : <0xffa00774> { _trap + 0x0 }

     Source : <0x0048bd82> [ ls + 0xbd42 ]

   4 Target : <0x0048bd7a> [ ls + 0xbd3a ]

     Source : <0x0048bd4a> [ ls + 0xbd0a ]

   5 Target : <0x0048bd40> [ ls + 0xbd00 ]

     Source : <0x00495406> [ ls + 0x153c6 ]

   6 Target : <0x00495400> [ ls + 0x153c0 ]

     Source : <0x004953da> [ ls + 0x1539a ]

   7 Target : <0x004953b4> [ ls + 0x15374 ]

     Source : <0x0048ac6a> [ ls + 0xac2a ]

   8 Target : <0x0048ac62> [ ls + 0xac22 ]

     Source : <0x0048aba8> [ ls + 0xab68 ]

   9 Target : <0x0048aba0> [ ls + 0xab60 ]

     Source : <0x0048a82a> [ ls + 0xa7ea ]

  10 Target : <0x0048a824> [ ls + 0xa7e4 ]

     Source : <0x0048a838> [ ls + 0xa7f8 ]

  11 Target : <0x0048a836> [ ls + 0xa7f6 ]

     Source : <0x0048a800> [ ls + 0xa7c0 ]

  12 Target : <0x0048a7f4> [ ls + 0xa7b4 ]

     Source : <0x0048ab9c> [ ls + 0xab5c ]

  13 Target : <0x0048ab96> [ ls + 0xab56 ]

     Source : <0x0048bb52> [ ls + 0xbb12 ]

  14 Target : <0x0048bb44> [ ls + 0xbb04 ]

     Source : <0x0048bca8> [ ls + 0xbc68 ]

  15 Target : <0x0048bca0> [ ls + 0xbc60 ]

     Source : <0x0048bc6e> [ ls + 0xbc2e ]

Stack from 00273f04:

        00000000 ffa00700 001fc568 001fc568 001fc564 00000064 00000000 000d1020

        0048bd84 00000030 00000027 00000000 00274000 0048bd84 0048bd84 0049540a

        00000000 02002002 0048ad19 0048bd85 0048ad18 0048bd82 00000000 00000001

        00000005 00000000 00000005 00000000 00000000 00000000 00000000 00000000

        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

        01800000 00000000 00000000 004d3eb6 004f6c2c 004f6c3c 004e6dfc 0000000b

 

Call Trace:

 

SIGSEGV

root:/mnt>

--

 

Follow-ups

 

--- Sonic Zhang                                              2008-03-11 00:05:20

When partition size is larger than 2G, you should format it with following

command.

 

root:/> mkdosfs -F 32 /dev/sda1

 

--- Vivi Li                                                  2008-03-12 03:41:21

It's OK when add option "-F 32". Close it. Thanks!

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes