From: Philip J Kelleher <pjk1939@linux.vnet.ibm.com>
Date: Tue, 18 Jun 2013 19:46:04 +0000 (-0500)
Subject: rsxx: Fixes DLPAR add kernel panic if partition still mounted.
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=66bc600363acd0acae84e878e5a06e7b7a38c014;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git

rsxx: Fixes DLPAR add kernel panic if partition still mounted.

A kernel panic would occur on a DLPAR add if there was a partition
still mounted during the DLPAR remove. This bug fix will allow the
user to unmount the partition and bring the driver back into a
good state after the DLPAR add.

Signed-off-by: Philip J Kelleher <pjk1939@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---

diff --git a/drivers/block/rsxx/dev.c b/drivers/block/rsxx/dev.c
index 1fa7cccd6866..a092f58db212 100644
--- a/drivers/block/rsxx/dev.c
+++ b/drivers/block/rsxx/dev.c
@@ -171,6 +171,9 @@ static void rsxx_make_request(struct request_queue *q, struct bio *bio)
 
 	might_sleep();
 
+	if (!card)
+		goto req_err;
+
 	if (unlikely(card->halt)) {
 		st = -EFAULT;
 		goto req_err;
@@ -331,6 +334,7 @@ void rsxx_destroy_dev(struct rsxx_cardinfo *card)
 	card->gendisk = NULL;
 
 	blk_cleanup_queue(card->queue);
+	card->queue->queuedata = NULL;
 	unregister_blkdev(card->major, DRIVER_NAME);
 }