aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd_fba.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/block/dasd_fba.c')
-rw-r--r--drivers/s390/block/dasd_fba.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/s390/block/dasd_fba.c b/drivers/s390/block/dasd_fba.c
index 119b8d2d5f17..1d95822e0b8e 100644
--- a/drivers/s390/block/dasd_fba.c
+++ b/drivers/s390/block/dasd_fba.c
@@ -257,14 +257,13 @@ dasd_fba_build_cp(struct dasd_device * device, struct request *req)
257 count = 0; 257 count = 0;
258 cidaw = 0; 258 cidaw = 0;
259 rq_for_each_segment(bv, req, iter) { 259 rq_for_each_segment(bv, req, iter) {
260 if (bv->bv_len & (blksize - 1)) 260 if (bv->bv_len & (blksize - 1))
261 /* Fba can only do full blocks. */ 261 /* Fba can only do full blocks. */
262 return ERR_PTR(-EINVAL); 262 return ERR_PTR(-EINVAL);
263 count += bv->bv_len >> (device->s2b_shift + 9); 263 count += bv->bv_len >> (device->s2b_shift + 9);
264#if defined(CONFIG_64BIT) 264#if defined(CONFIG_64BIT)
265 if (idal_is_needed (page_address(bv->bv_page), 265 if (idal_is_needed (page_address(bv->bv_page), bv->bv_len))
266 bv->bv_len)) 266 cidaw += bv->bv_len / blksize;
267 cidaw += bv->bv_len / blksize;
268#endif 267#endif
269 } 268 }
270 /* Paranoia. */ 269 /* Paranoia. */