Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus
[linux-2.6-block.git] / drivers / scsi / scsi_scan.c
index 0af713375db5d7f7c16f32a7052924995002373a..983aed10ff2f8d97c9d34254768ecd3ec819ab9b 100644 (file)
@@ -1593,16 +1593,15 @@ EXPORT_SYMBOL(scsi_add_device);
 
 void scsi_rescan_device(struct device *dev)
 {
-       struct scsi_driver *drv;
-       
        if (!dev->driver)
                return;
 
-       drv = to_scsi_driver(dev->driver);
-       if (try_module_get(drv->owner)) {
+       if (try_module_get(dev->driver->owner)) {
+               struct scsi_driver *drv = to_scsi_driver(dev->driver);
+
                if (drv->rescan)
                        drv->rescan(dev);
-               module_put(drv->owner);
+               module_put(dev->driver->owner);
        }
 }
 EXPORT_SYMBOL(scsi_rescan_device);