Skip to content
Snippets Groups Projects
Commit 0aef7bc7 authored by Detlev Zundel's avatar Detlev Zundel Committed by Wolfgang Denk
Browse files

tools/env/fw_printenv: Make redundant env work on locked flashes also


The invalidation of the old environment instance did not work for flashes
supporting hardware locking.  Now we unlock/lock around this update also.

Signed-off-by: default avatarDetlev Zundel <dzu@denx.de>
parent a4e8d9f5
No related branches found
No related tags found
No related merge requests found
/*
* (C) Copyright 2000-2008
* (C) Copyright 2000-2010
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* (C) Copyright 2008
......@@ -899,7 +899,10 @@ static int flash_write_buf (int dev, int fd, void *buf, size_t count,
static int flash_flag_obsolete (int dev, int fd, off_t offset)
{
int rc;
struct erase_info_user erase;
erase.start = DEVOFFSET (dev);
erase.length = DEVESIZE (dev);
/* This relies on the fact, that obsolete_flag == 0 */
rc = lseek (fd, offset, SEEK_SET);
if (rc < 0) {
......@@ -907,7 +910,9 @@ static int flash_flag_obsolete (int dev, int fd, off_t offset)
DEVNAME (dev));
return rc;
}
ioctl (fd, MEMUNLOCK, &erase);
rc = write (fd, &obsolete_flag, sizeof (obsolete_flag));
ioctl (fd, MEMLOCK, &erase);
if (rc < 0)
perror ("Could not set obsolete flag");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment