summaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd.c
diff options
context:
space:
mode:
authorHorst Hummel <horst.hummel@de.ibm.com>2006-08-09 10:30:22 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-08-09 10:30:22 +0200
commitebc4599990898ecaaace7ed40dfad6d8d9f2a24a (patch)
treed372ff43bf40c11576671a7a35185b034d3a5a4d /drivers/s390/block/dasd.c
parent[S390] add __cpuinit to appldata_cpu_notify (diff)
downloadlinux-ebc4599990898ecaaace7ed40dfad6d8d9f2a24a.tar.xz
linux-ebc4599990898ecaaace7ed40dfad6d8d9f2a24a.zip
[S390] dasd set offline kernel bug.
The request queue flush function of the dasd driver has to dequeue the requests first and then call the end request function. Otherwise a kernel bug in ll_rw_block.c might get triggered. Signed-off-by: Horst Hummel <horst.hummel@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/block/dasd.c')
-rw-r--r--drivers/s390/block/dasd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index 4bf03fb67f8d..d8e9b95f0a1a 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -1730,8 +1730,8 @@ dasd_flush_request_queue(struct dasd_device * device)
req = elv_next_request(device->request_queue);
if (req == NULL)
break;
- dasd_end_request(req, 0);
blkdev_dequeue_request(req);
+ dasd_end_request(req, 0);
}
spin_unlock_irq(&device->request_queue_lock);
}