summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sr.c
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2009-06-18 09:57:18 +0200
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-21 19:01:27 +0200
commitb391277a56b9eaaff4474339c703e574ed7fab5b (patch)
tree81964fbb0a7582e110a0dc06b4ddfce8508c1bd3 /drivers/scsi/sr.c
parentscsi_transport_iscsi: return -EOVERFLOW for Too many iscsi targets (diff)
downloadlinux-b391277a56b9eaaff4474339c703e574ed7fab5b.tar.xz
linux-b391277a56b9eaaff4474339c703e574ed7fab5b.zip
sd, sr: fix Driver 'sd' needs updating message
If a SCSI ULD driver sets blk_queue_prep_rq(), it should clean it up itself on remove(), and not from the bus callbacks. This removes the need to hook into bus->remove(), which should not be used at the same time as driver->remove(). [jejb: fix sdkp initialisation problem due to mismerge] Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/sr.c')
-rw-r--r--drivers/scsi/sr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
index cd350dfc1216..cce0fe4c8a3b 100644
--- a/drivers/scsi/sr.c
+++ b/drivers/scsi/sr.c
@@ -881,6 +881,7 @@ static int sr_remove(struct device *dev)
{
struct scsi_cd *cd = dev_get_drvdata(dev);
+ blk_queue_prep_rq(cd->device->request_queue, scsi_prep_fn);
del_gendisk(cd->disk);
mutex_lock(&sr_ref_mutex);