From fc338e92014a8b34d89ce35c3959b896cf04b180 Mon Sep 17 00:00:00 2001 From: Mike Snitzer Date: Tue, 6 Jul 2010 16:47:28 -0400 Subject: [PATCH 4/8] scsi: need to reset unprep_rq_fn in sd_remove BZ 610054 commit 9fc8101934ce1a15552d5509c2fbc9a209d9b5ab Author: FUJITA Tomonori Date: Sat Jul 3 08:07:04 2010 -0600 scsi: need to reset unprep_rq_fn in sd_remove We need to reset q->unprep_rq_fn in sd_remove. Otherwise we hit kernel oops if we access to a scsi disk device via sg after removing scsi disk module. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe --- drivers/scsi/sd.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 57b41f8..adc99d2 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -2342,6 +2342,7 @@ static int sd_remove(struct device *dev) async_synchronize_full(); sdkp = dev_get_drvdata(dev); blk_queue_prep_rq(sdkp->device->request_queue, scsi_prep_fn); + blk_queue_unprep_rq(sdkp->device->request_queue, NULL); device_del(&sdkp->dev); del_gendisk(sdkp->disk); sd_shutdown(dev); -- 1.6.6.1