mtd: fix trx_fixup
[openwrt/staging/florian.git] / package / mtd / src / trx.c
index d1aab3692309726b6dede2ffc5d335149d2d282a..65c24404c2c1fe771acf0f78936b7bbe187a944c 100644 (file)
@@ -154,15 +154,15 @@ mtd_fixtrx(const char *mtd, size_t offset)
        if (quiet < 2)
                fprintf(stderr, "Trying to fix trx header in %s at 0x%x...\n", mtd, offset);
 
-       block_offset = offset & ~(erasesize - 1);
-       offset -= block_offset;
-
        fd = mtd_check_open(mtd);
        if(fd < 0) {
                fprintf(stderr, "Could not open mtd device: %s\n", mtd);
                exit(1);
        }
 
+       block_offset = offset & ~(erasesize - 1);
+       offset -= block_offset;
+
        if (block_offset + erasesize > mtdsize) {
                fprintf(stderr, "Offset too large, device size 0x%x\n", mtdsize);
                exit(1);