fixes the offset calculation for mtd->block_markbad and mtd->block_isbad
---
yaffs_mtdif2_multi.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/yaffs_mtdif2_multi.c b/yaffs_mtdif2_multi.c
index 684ed2a..9d18d0e 100644
--- a/yaffs_mtdif2_multi.c
+++ b/yaffs_mtdif2_multi.c
@@ -204,14 +204,14 @@ int nandmtd2_mark_block_bad(struct yaffs_dev *dev, int
block_no)
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
int retval;
+ loff_t offsaddr = (((loff_t) block_no) * dev->param.chunks_per_block*
dev->param.total_bytes_per_chunk);
yaffs_trace(YAFFS_TRACE_MTD,
"nandmtd2_mark_block_bad %d",
block_no);
retval =
mtd->block_markbad(mtd,
- block_no * dev->param.chunks_per_block *
- dev->param.total_bytes_per_chunk);
+ offsaddr);
if (retval == 0)
return YAFFS_OK;
@@ -225,12 +225,11 @@ int nandmtd2_query_block(struct yaffs_dev *dev, int
block_no,
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
int retval;
-
+ loff_t offsaddr = (((loff_t) block_no) * dev->param.chunks_per_block*
dev->param.total_bytes_per_chunk);
yaffs_trace(YAFFS_TRACE_MTD, "nandmtd2_query_block %d", block_no);
retval =
mtd->block_isbad(mtd,
- block_no * dev->param.chunks_per_block *
- dev->param.total_bytes_per_chunk);
+ offsaddr);
if (retval) {
yaffs_trace(YAFFS_TRACE_MTD, "block is bad");
--
1.7.0.4
fixes the offset calculation for mtd->block_markbad and mtd->block_isbad
---
yaffs_mtdif2_multi.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/yaffs_mtdif2_multi.c b/yaffs_mtdif2_multi.c
index 684ed2a..9d18d0e 100644
--- a/yaffs_mtdif2_multi.c
+++ b/yaffs_mtdif2_multi.c
@@ -204,14 +204,14 @@ int nandmtd2_mark_block_bad(struct yaffs_dev *dev, int block_no)
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
int retval;
+ loff_t offsaddr = (((loff_t) block_no) * dev->param.chunks_per_block* dev->param.total_bytes_per_chunk);
yaffs_trace(YAFFS_TRACE_MTD,
"nandmtd2_mark_block_bad %d",
block_no);
retval =
mtd->block_markbad(mtd,
- block_no * dev->param.chunks_per_block *
- dev->param.total_bytes_per_chunk);
+ offsaddr);
if (retval == 0)
return YAFFS_OK;
@@ -225,12 +225,11 @@ int nandmtd2_query_block(struct yaffs_dev *dev, int block_no,
{
struct mtd_info *mtd = yaffs_dev_to_mtd(dev);
int retval;
-
+ loff_t offsaddr = (((loff_t) block_no) * dev->param.chunks_per_block* dev->param.total_bytes_per_chunk);
yaffs_trace(YAFFS_TRACE_MTD, "nandmtd2_query_block %d", block_no);
retval =
mtd->block_isbad(mtd,
- block_no * dev->param.chunks_per_block *
- dev->param.total_bytes_per_chunk);
+ offsaddr);
if (retval) {
yaffs_trace(YAFFS_TRACE_MTD, "block is bad");
--
1.7.0.4