summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/genhd.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/include/linux/genhd.h b/include/linux/genhd.h
index 42a51653c730..6ba91ee54cb2 100644
--- a/include/linux/genhd.h
+++ b/include/linux/genhd.h
@@ -218,13 +218,9 @@ struct gendisk {
static inline struct gendisk *part_to_disk(struct hd_struct *part)
{
- if (likely(part)) {
- if (part->partno)
- return dev_to_disk(part_to_dev(part)->parent);
- else
- return dev_to_disk(part_to_dev(part));
- }
- return NULL;
+ if (unlikely(!part))
+ return NULL;
+ return part->bdev->bd_disk;
}
static inline int disk_max_parts(struct gendisk *disk)