Browse Source

[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>
Horst Hummel 19 years ago
parent
commit
ebc4599990
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/s390/block/dasd.c

+ 1 - 1
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);
 }