diff options
author | Philip J Kelleher <pjk1939@linux.vnet.ibm.com> | 2013-06-18 14:46:04 -0500 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2013-06-19 13:52:09 +0200 |
commit | 66bc600363acd0acae84e878e5a06e7b7a38c014 (patch) | |
tree | a5e0b7bfcb3e178b60b91ca8d4beeca717d24126 /drivers/block/rsxx | |
parent | f730e3dc6dc4698d55fd9bf6de33a5436900e9bd (diff) | |
download | blackbird-op-linux-66bc600363acd0acae84e878e5a06e7b7a38c014.tar.gz blackbird-op-linux-66bc600363acd0acae84e878e5a06e7b7a38c014.zip |
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>
Diffstat (limited to 'drivers/block/rsxx')
-rw-r--r-- | drivers/block/rsxx/dev.c | 4 |
1 files changed, 4 insertions, 0 deletions
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); } |