summaryrefslogtreecommitdiff
path: root/drivers/ide/ide-gd.c
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-11-03 14:49:01 +0000
committerBen Dooks <ben-linux@fluff.org>2008-11-03 14:49:01 +0000
commite856359685143a2f65876e7db4e4aa0ef5dce7f0 (patch)
treebbcafe7f23975979f7a2bc6fd1404908d5fd7bd1 /drivers/ide/ide-gd.c
parente3bd9ec5d8bfc90f9e1bd995677829e57a404061 (diff)
parent45beca08dd8b6d6a65c5ffd730af2eac7a2c7a03 (diff)
downloadlinux-e856359685143a2f65876e7db4e4aa0ef5dce7f0.tar.gz
linux-e856359685143a2f65876e7db4e4aa0ef5dce7f0.tar.bz2
linux-e856359685143a2f65876e7db4e4aa0ef5dce7f0.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-moves2
Diffstat (limited to 'drivers/ide/ide-gd.c')
-rw-r--r--drivers/ide/ide-gd.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/ide/ide-gd.c b/drivers/ide/ide-gd.c
index 7b6662854374..b8078b3231f7 100644
--- a/drivers/ide/ide-gd.c
+++ b/drivers/ide/ide-gd.c
@@ -281,7 +281,12 @@ static int ide_gd_media_changed(struct gendisk *disk)
static int ide_gd_revalidate_disk(struct gendisk *disk)
{
struct ide_disk_obj *idkp = ide_drv_g(disk, ide_disk_obj);
- set_capacity(disk, ide_gd_capacity(idkp->drive));
+ ide_drive_t *drive = idkp->drive;
+
+ if (ide_gd_media_changed(disk))
+ drive->disk_ops->get_capacity(drive);
+
+ set_capacity(disk, ide_gd_capacity(drive));
return 0;
}