Hi<div><br></div><div>Barebox barfs if I try to copy a file inside a mounted MMC fat partition.</div><div><br></div><div>Steps to reproduce: </div><div><br></div><div>1.) Load barebox (configured as internal boot MMC) as a second stage boot loader from uboot.</div>

<div>2.) Mount MMC fat partition</div><div>3.) Try to copy file to the same partition</div><div><br></div><div>This results in this nice BUG():</div><div><br></div><div><div>Board: SID1 NOAH</div><div>registered netconsole as cs1</div>

<div>noah_read_ccm_regs: CCM CRDR = 00000000</div><div>noah_read_ccm_regs: CCM RCSR = 01020820</div><div>noah_read_ccm_regs: Booting from WEIM: NOR</div><div>imx-esdhc@mci0: registered as mci0</div><div>mci@mci0: registered disk0</div>

<div>imx25_devices_init: Adding NOR flash device</div><div>cfi_flash@cfi_flash0: cfi flash (id=01000000 vend=000002 manu=000001 devid=00007E extid=002301) at a0000000, size 64MB</div><div>imx25_devices_init: Adding initial NOR flash partitions</div>

<div>ehci@ehci0: USB EHCI 1.00</div><div>Malloc space: 0x83b00000 -> 0x83efffff (size  4 MB)</div><div>Stack space : 0x83af8000 -> 0x83b00000 (size 32 kB)</div><div>envfs: wrong magic on /dev/env0</div><div>no valid environment found on /dev/env0. Using default environment</div>

<div>running /env/bin/init...</div><div><br></div><div>Hit any key to stop autoboot:  5</div><div><br></div><div>type update_kernel nor [<imagename>] to update kernel into flash</div><div>type update_root nor [<imagename>] to update rootfs into flash</div>

<div><br></div><div>sid1-noah:/ mkdir /mnt</div><div>sid1-noah:/ mount /dev/disk0.0 fat /mnt</div><div>sid1-noah:/ time cp /mnt/console_image.jffs2 /mnt/console_image.jffs2-backup</div><div>BUG: failure at common/block.c:248/block_put()!</div>

<div>BUG!</div><div>[<83f347b4>] (unwind_backtrace+0x0/0x8c) from [<83f1bea4>] (panic+0x28/0x3c)</div><div>[<83f1bea4>] (panic+0x28/0x3c) from [<83f058a0>] (block_put+0x48/0x8c)</div><div>[<83f058a0>] (block_put+0x48/0x8c) from [<83f0598c>] (block_write+0xa8/0x120)</div>

<div>[<83f0598c>] (block_write+0xa8/0x120) from [<83f2d288>] (cdev_write+0x30/0x34)</div><div>[<83f2d288>] (cdev_write+0x30/0x34) from [<83f30780>] (disk_write+0x24/0x30)</div><div>[<83f30780>] (disk_write+0x24/0x30) from [<83f2f8cc>] (f_write+0x160/0x27c)</div>

<div>[<83f2f8cc>] (f_write+0x160/0x27c) from [<83f30540>] (fat_write+0x18/0x30)</div><div>[<83f30540>] (fat_write+0x18/0x30) from [<83f31030>] (write+0xac/0xd0)</div><div>[<83f31030>] (write+0xac/0xd0) from [<83f21674>] (copy_file+0xec/0x17c)</div>

<div>[<83f21674>] (copy_file+0xec/0x17c) from [<83f18ff0>] (do_cp+0x124/0x158)</div><div>[<83f18ff0>] (do_cp+0x124/0x158) from [<83f07b50>] (execute_command+0x38/0x7c)</div><div>[<83f07b50>] (execute_command+0x38/0x7c) from [<83f03b84>] (run_list_real+0x8a0/0x998)</div>

<div>[<83f03b84>] (run_list_real+0x8a0/0x998) from [<83f03dc0>] (parse_stream_outer+0x144/0x240)</div><div>[<83f03dc0>] (parse_stream_outer+0x144/0x240) from [<83f0327c>] (parse_string_outer+0x9c/0x104)</div>

<div>[<83f0327c>] (parse_string_outer+0x9c/0x104) from [<83f04164>] (run_command+0x18/0x30)</div><div>[<83f04164>] (run_command+0x18/0x30) from [<83f1aaa4>] (do_time+0x8c/0xf0)</div><div>[<83f1aaa4>] (do_time+0x8c/0xf0) from [<83f07b50>] (execute_command+0x38/0x7c)</div>

<div>[<83f07b50>] (execute_command+0x38/0x7c) from [<83f03b84>] (run_list_real+0x8a0/0x998)</div><div>[<83f03b84>] (run_list_real+0x8a0/0x998) from [<83f03dc0>] (parse_stream_outer+0x144/0x240)</div>

<div>[<83f03dc0>] (parse_stream_outer+0x144/0x240) from [<83f041b8>] (run_shell+0x3c/0x5c)</div><div>[<83f041b8>] (run_shell+0x3c/0x5c) from [<83f095e0>] (start_barebox+0xd4/0x110)</div><div>[<83f095e0>] (start_barebox+0xd4/0x110) from [<8010206c>] (0x8010206c)</div>

</div><div><br></div><div>I reckon it might be something I shouldn't be doing, however I thought I still report it here.</div><div><br></div><div>Cheers</div><div>Roberto</div>