diff options
Diffstat (limited to 'drivers/ide/ide-gd.c')
| -rw-r--r-- | drivers/ide/ide-gd.c | 7 |
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) | |||
| 281 | static int ide_gd_revalidate_disk(struct gendisk *disk) | 281 | static int ide_gd_revalidate_disk(struct gendisk *disk) |
| 282 | { | 282 | { |
| 283 | struct ide_disk_obj *idkp = ide_drv_g(disk, ide_disk_obj); | 283 | struct ide_disk_obj *idkp = ide_drv_g(disk, ide_disk_obj); |
| 284 | set_capacity(disk, ide_gd_capacity(idkp->drive)); | 284 | ide_drive_t *drive = idkp->drive; |
| 285 | |||
| 286 | if (ide_gd_media_changed(disk)) | ||
| 287 | drive->disk_ops->get_capacity(drive); | ||
| 288 | |||
| 289 | set_capacity(disk, ide_gd_capacity(drive)); | ||
| 285 | return 0; | 290 | return 0; |
| 286 | } | 291 | } |
| 287 | 292 | ||
