[U-Boot] [U-BOOT][PATCH 2/4] mflash : Fix uncorrect mask operation

unsik Kim donari75 at gmail.com
Wed Feb 18 11:51:45 CET 2009


Signed-off-by: unsik Kim <donari75 at gmail.com>
---
  drivers/block/mg_disk.c |    5 ++---
  1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/block/mg_disk.c b/drivers/block/mg_disk.c
index 26b6a80..1f9debe 100644
--- a/drivers/block/mg_disk.c
+++ b/drivers/block/mg_disk.c
@@ -385,7 +385,7 @@ unsigned int mg_disk_read (u32 addr, u8 *buff, u32 len)

  	if (cur_addr < end_addr) {
  		sect_num = cur_addr >> MG_SECTOR_SIZE_SHIFT;
-		cnt = ((end_addr & MG_SECTOR_SIZE_MASK) - cur_addr) >>
+		cnt = ((end_addr & ~MG_SECTOR_SIZE_MASK) - cur_addr) >>
  			MG_SECTOR_SIZE_SHIFT;

  		if (cnt)
@@ -411,7 +411,6 @@ mg_read_exit:

  	return err;
  }
-
  static int mg_do_write_sects(void *buff, u32 sect_num, u32 sect_cnt)
  {
  	u32 i, j, err;
@@ -523,7 +522,7 @@ unsigned int mg_disk_write(u32 addr, u8 *buff, u32 len)
  	if (cur_addr < end_addr) {

  		sect_num = cur_addr >> MG_SECTOR_SIZE_SHIFT;
-		cnt = ((end_addr & MG_SECTOR_SIZE_MASK) - cur_addr) >>
+		cnt = ((end_addr & ~MG_SECTOR_SIZE_MASK) - cur_addr) >>
  			MG_SECTOR_SIZE_SHIFT;

  		if (cnt)
-- 
1.5.6.6


More information about the U-Boot mailing list