summaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd_eckd.c
diff options
context:
space:
mode:
authorStefan Haberland <stefan.haberland@de.ibm.com>2011-12-27 11:27:28 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-12-27 11:27:14 +0100
commitb38f27e8425a132ed2dc49ffb3741404e81363d8 (patch)
tree8f1e09bc2bd902ace0307d7a1639db349303829d /drivers/s390/block/dasd_eckd.c
parentb206181d636d416fde48c7f493d7ac5d935b57e3 (diff)
downloadop-kernel-dev-b38f27e8425a132ed2dc49ffb3741404e81363d8.zip
op-kernel-dev-b38f27e8425a132ed2dc49ffb3741404e81363d8.tar.gz
[S390] dasd: fix fixpoint divide exception in define_extent
If an IO request is build on an alias device without prefix enabled we try to calculate with zero data from the alias device. This triggers a BUG statement with fixpoint divide exception. This case is very unlikely and can only happen if the pathgroup is lost with an alias device already in use. Prevent the alias device from being used in this case. Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block/dasd_eckd.c')
-rw-r--r--drivers/s390/block/dasd_eckd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index 763f1bd..bbcd5e9 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -2397,7 +2397,7 @@ static struct dasd_ccw_req *dasd_eckd_build_cp_cmd_single(
sizeof(struct PFX_eckd_data));
} else {
if (define_extent(ccw++, cqr->data, first_trk,
- last_trk, cmd, startdev) == -EAGAIN) {
+ last_trk, cmd, basedev) == -EAGAIN) {
/* Clock not in sync and XRC is enabled.
* Try again later.
*/
OpenPOWER on IntegriCloud