[#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