diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ide/ide-disk.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-io.c | 18 |
2 files changed, 4 insertions, 16 deletions
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index 83da9a98dabc..d4d730252669 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c | |||
@@ -472,7 +472,7 @@ static void init_idedisk_capacity(ide_drive_t *drive) | |||
472 | 472 | ||
473 | static sector_t idedisk_capacity(ide_drive_t *drive) | 473 | static sector_t idedisk_capacity(ide_drive_t *drive) |
474 | { | 474 | { |
475 | return drive->capacity64 - drive->sect0; | 475 | return drive->capacity64; |
476 | } | 476 | } |
477 | 477 | ||
478 | #ifdef CONFIG_IDE_PROC_FS | 478 | #ifdef CONFIG_IDE_PROC_FS |
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 8dd7b46b41b7..96975e24a0cc 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -765,9 +765,7 @@ static void ide_check_pm_state(ide_drive_t *drive, struct request *rq) | |||
765 | * start_request - start of I/O and command issuing for IDE | 765 | * start_request - start of I/O and command issuing for IDE |
766 | * | 766 | * |
767 | * start_request() initiates handling of a new I/O request. It | 767 | * start_request() initiates handling of a new I/O request. It |
768 | * accepts commands and I/O (read/write) requests. It also does | 768 | * accepts commands and I/O (read/write) requests. |
769 | * the final remapping for weird stuff like EZDrive. Once | ||
770 | * device mapper can work sector level the EZDrive stuff can go away | ||
771 | * | 769 | * |
772 | * FIXME: this function needs a rename | 770 | * FIXME: this function needs a rename |
773 | */ | 771 | */ |
@@ -775,7 +773,6 @@ static void ide_check_pm_state(ide_drive_t *drive, struct request *rq) | |||
775 | static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) | 773 | static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) |
776 | { | 774 | { |
777 | ide_startstop_t startstop; | 775 | ide_startstop_t startstop; |
778 | sector_t block; | ||
779 | 776 | ||
780 | BUG_ON(!blk_rq_started(rq)); | 777 | BUG_ON(!blk_rq_started(rq)); |
781 | 778 | ||
@@ -790,16 +787,6 @@ static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) | |||
790 | goto kill_rq; | 787 | goto kill_rq; |
791 | } | 788 | } |
792 | 789 | ||
793 | block = rq->sector; | ||
794 | if (blk_fs_request(rq) && | ||
795 | (drive->media == ide_disk || drive->media == ide_floppy)) { | ||
796 | block += drive->sect0; | ||
797 | } | ||
798 | /* Yecch - this will shift the entire interval, | ||
799 | possibly killing some innocent following sector */ | ||
800 | if (block == 0 && drive->remap_0_to_1 == 1) | ||
801 | block = 1; /* redirect MBR access to EZ-Drive partn table */ | ||
802 | |||
803 | if (blk_pm_request(rq)) | 790 | if (blk_pm_request(rq)) |
804 | ide_check_pm_state(drive, rq); | 791 | ide_check_pm_state(drive, rq); |
805 | 792 | ||
@@ -844,7 +831,8 @@ static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) | |||
844 | return ide_special_rq(drive, rq); | 831 | return ide_special_rq(drive, rq); |
845 | 832 | ||
846 | drv = *(ide_driver_t **)rq->rq_disk->private_data; | 833 | drv = *(ide_driver_t **)rq->rq_disk->private_data; |
847 | return drv->do_request(drive, rq, block); | 834 | |
835 | return drv->do_request(drive, rq, rq->sector); | ||
848 | } | 836 | } |
849 | return do_special(drive); | 837 | return do_special(drive); |
850 | kill_rq: | 838 | kill_rq: |