summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/core.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-02-08 14:21:38 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2016-02-09 09:31:45 +0100
commite0ae56c00864b0c1dc77b34d26c4e59096ad5403 (patch)
tree6917cb4d6b606d58954782dda733312c186b3e7e /drivers/mtd/core.c
parente9ff55fe2dd628de21308b80d464e044f8213226 (diff)
downloadbarebox-e0ae56c00864b0c1dc77b34d26c4e59096ad5403.tar.gz
barebox-e0ae56c00864b0c1dc77b34d26c4e59096ad5403.tar.xz
mtd: Fix mtd_op_erase for devices >4GiB
The mtd erase file operation has a unnecessary conversion to unsigned long in the offset. Remove it to make it work with chips >4GiB. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mtd/core.c')
-rw-r--r--drivers/mtd/core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/core.c b/drivers/mtd/core.c
index 3251bbcffd..0bc9fed686 100644
--- a/drivers/mtd/core.c
+++ b/drivers/mtd/core.c
@@ -148,7 +148,7 @@ static int mtd_op_erase(struct cdev *cdev, size_t count, loff_t offset)
{
struct mtd_info *mtd = cdev->priv;
struct erase_info erase;
- uint32_t addr;
+ loff_t addr;
int ret;
ret = mtd_erase_align(mtd, &count, &offset);
@@ -178,7 +178,7 @@ static int mtd_op_erase(struct cdev *cdev, size_t count, loff_t offset)
erase.addr = addr;
if (ret > 0) {
- printf("Skipping bad block at 0x%08x\n", addr);
+ printf("Skipping bad block at 0x%08llx\n", addr);
} else {
ret = mtd_erase(mtd, &erase);
if (ret)