[Yaffs] [PATCH] pass 64 bit offsets to block_isbad and block…

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
+ fix_offs.patch (text/x-patch)
Delete this message
Reply to this message
Author: srimugunthan dhandapani
Date:  
To: yaffs
Subject: [Yaffs] [PATCH] pass 64 bit offsets to block_isbad and block_markbad
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