summaryrefslogtreecommitdiffstats
path: root/fs/bio.c
diff options
context:
space:
mode:
authorKevin Hilman <khilman@ti.com>2012-03-05 15:37:04 -0800
committerKevin Hilman <khilman@ti.com>2012-03-05 15:37:04 -0800
commit015f1e4297ad32f83251f3f4cee2389ce5516e9e (patch)
tree1b16e317005dc3d09b0551a4db9182f7f4119f71 /fs/bio.c
parent1b35af54ee9cbbdd13fed53fd4acb0952ba522e1 (diff)
parent9cf793f9b8b1ba9414e2a7591b2e911885f85a27 (diff)
Merge remote-tracking branch 'omap/hsmmc' into for_3.4/cleanup/pm-base
Diffstat (limited to 'fs/bio.c')
-rw-r--r--fs/bio.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/fs/bio.c b/fs/bio.c
index b1fe82cf88c..b980ecde026 100644
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -505,13 +505,9 @@ EXPORT_SYMBOL(bio_clone);
int bio_get_nr_vecs(struct block_device *bdev)
{
struct request_queue *q = bdev_get_queue(bdev);
- int nr_pages;
-
- nr_pages = ((queue_max_sectors(q) << 9) + PAGE_SIZE - 1) >> PAGE_SHIFT;
- if (nr_pages > queue_max_segments(q))
- nr_pages = queue_max_segments(q);
-
- return nr_pages;
+ return min_t(unsigned,
+ queue_max_segments(q),
+ queue_max_sectors(q) / (PAGE_SIZE >> 9) + 1);
}
EXPORT_SYMBOL(bio_get_nr_vecs);