scsi: need to reset unprep_rq_fn in sd_remove
This is for block's for-2.6.36. 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 <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
committed by
Jens Axboe
parent
00fff26539
commit
82b6d57fb1
@@ -2384,6 +2384,7 @@ static int sd_remove(struct device *dev)
|
|||||||
async_synchronize_full();
|
async_synchronize_full();
|
||||||
sdkp = dev_get_drvdata(dev);
|
sdkp = dev_get_drvdata(dev);
|
||||||
blk_queue_prep_rq(sdkp->device->request_queue, scsi_prep_fn);
|
blk_queue_prep_rq(sdkp->device->request_queue, scsi_prep_fn);
|
||||||
|
blk_queue_unprep_rq(sdkp->device->request_queue, NULL);
|
||||||
device_del(&sdkp->dev);
|
device_del(&sdkp->dev);
|
||||||
del_gendisk(sdkp->disk);
|
del_gendisk(sdkp->disk);
|
||||||
sd_shutdown(dev);
|
sd_shutdown(dev);
|
||||||
|
Reference in New Issue
Block a user