From 0b94504d22e70f537c17a0d38c87edb6e370977d Mon Sep 17 00:00:00 2001 From: Greg Lopp Date: Fri, 13 Apr 2007 08:02:24 +0200 Subject: [PATCH] Fix use of "void *" for block dev read/write buffer pointers Signed-of-by: Greg Lopp Acked-by: Grant Likely --- common/cmd_ide.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'common') diff --git a/common/cmd_ide.c b/common/cmd_ide.c index b4119f3072..28797a920c 100644 --- a/common/cmd_ide.c +++ b/common/cmd_ide.c @@ -1344,7 +1344,7 @@ ulong ide_read (int device, lbaint_t blknr, ulong blkcnt, void *buffer) ++n; ++blknr; - buffer += ATA_SECTORWORDS; + buffer += ATA_BLOCKSIZE; } IDE_READ_E: ide_led (DEVICE_LED(device), 0); /* LED off */ @@ -1428,7 +1428,7 @@ ulong ide_write (int device, lbaint_t blknr, ulong blkcnt, void *buffer) c = ide_inb (device, ATA_STATUS); /* clear IRQ */ ++n; ++blknr; - buffer += ATA_SECTORWORDS; + buffer += ATA_BLOCKSIZE; } WR_OUT: ide_led (DEVICE_LED(device), 0); /* LED off */ @@ -2052,7 +2052,7 @@ ulong atapi_read (int device, lbaint_t blknr, ulong blkcnt, void *buffer) n+=cnt; blkcnt-=cnt; blknr+=cnt; - buffer+=cnt*(ATAPI_READ_BLOCK_SIZE/4); /* ulong blocksize in ulong */ + buffer+=(cnt*ATAPI_READ_BLOCK_SIZE); } while (blkcnt > 0); return (n); } -- cgit From 7882751c78b7ecabfd49b0eff8de27661c71f16c Mon Sep 17 00:00:00 2001 From: Denis Peter Date: Fri, 13 Apr 2007 09:13:33 +0200 Subject: [PATCH] Fix bugs in cmd_ide.c and cmd_scsi.c Fix bug introduced by "Fix get_partition_info() parameter error in all other calls" from 2005-03-04 in cmd_ide.c and cmd_scsi.c, which prevented to use diskboot or scsiboot form another device than 0. Signed-off-by: Denis Peter --- common/cmd_ide.c | 2 +- common/cmd_scsi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'common') diff --git a/common/cmd_ide.c b/common/cmd_ide.c index 28797a920c..ce99a41ab7 100644 --- a/common/cmd_ide.c +++ b/common/cmd_ide.c @@ -423,7 +423,7 @@ int do_diskboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) } part = simple_strtoul(++ep, NULL, 16); } - if (get_partition_info (ide_dev_desc, part, &info)) { + if (get_partition_info (&ide_dev_desc[dev], part, &info)) { SHOW_BOOT_PROGRESS (-1); return 1; } diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c index da36ed9e1d..00b84fad19 100644 --- a/common/cmd_scsi.c +++ b/common/cmd_scsi.c @@ -248,7 +248,7 @@ int do_scsiboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) } part = simple_strtoul(++ep, NULL, 16); } - if (get_partition_info (scsi_dev_desc, part, &info)) { + if (get_partition_info (&scsi_dev_desc[dev], part, &info)) { printf("error reading partinfo\n"); return 1; } -- cgit