mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-18 06:58:54 +00:00
tools/env: pass bad block offset by value
the offset is not modified by linux ioctl call see mtd_ioctl{drivers/mtd/mtdchar.c} Makes the interface less ambiguous, since the caller can now exclude a modification of blockstart Signed-off-by: Andreas Fenkart <andreas.fenkart@digitalstrom.com>
This commit is contained in:
parent
e2c9351d5a
commit
c6012bbce6
1 changed files with 5 additions and 5 deletions
10
tools/env/fw_env.c
vendored
10
tools/env/fw_env.c
vendored
|
@ -661,10 +661,10 @@ off_t environment_end(int dev)
|
|||
* > 0 - block is bad
|
||||
* < 0 - failed to test
|
||||
*/
|
||||
static int flash_bad_block (int fd, uint8_t mtd_type, loff_t *blockstart)
|
||||
static int flash_bad_block(int fd, uint8_t mtd_type, loff_t blockstart)
|
||||
{
|
||||
if (mtd_type == MTD_NANDFLASH) {
|
||||
int badblock = ioctl (fd, MEMGETBADBLOCK, blockstart);
|
||||
int badblock = ioctl(fd, MEMGETBADBLOCK, &blockstart);
|
||||
|
||||
if (badblock < 0) {
|
||||
perror ("Cannot read bad block mark");
|
||||
|
@ -674,7 +674,7 @@ static int flash_bad_block (int fd, uint8_t mtd_type, loff_t *blockstart)
|
|||
if (badblock) {
|
||||
#ifdef DEBUG
|
||||
fprintf (stderr, "Bad block at 0x%llx, skipping\n",
|
||||
(unsigned long long) *blockstart);
|
||||
(unsigned long long)blockstart);
|
||||
#endif
|
||||
return badblock;
|
||||
}
|
||||
|
@ -722,7 +722,7 @@ static int flash_read_buf (int dev, int fd, void *buf, size_t count,
|
|||
|
||||
/* This only runs once on NOR flash */
|
||||
while (processed < count) {
|
||||
rc = flash_bad_block (fd, mtd_type, &blockstart);
|
||||
rc = flash_bad_block(fd, mtd_type, blockstart);
|
||||
if (rc < 0) /* block test failed */
|
||||
return -1;
|
||||
|
||||
|
@ -876,7 +876,7 @@ static int flash_write_buf (int dev, int fd, void *buf, size_t count,
|
|||
|
||||
/* This only runs once on NOR flash and SPI-dataflash */
|
||||
while (processed < write_total) {
|
||||
rc = flash_bad_block (fd, mtd_type, &blockstart);
|
||||
rc = flash_bad_block(fd, mtd_type, blockstart);
|
||||
if (rc < 0) /* block test failed */
|
||||
return rc;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue