|
@@ -1593,16 +1593,15 @@ EXPORT_SYMBOL(scsi_add_device);
|
|
|
|
|
|
void scsi_rescan_device(struct device *dev)
|
|
void scsi_rescan_device(struct device *dev)
|
|
{
|
|
{
|
|
- struct scsi_driver *drv;
|
|
|
|
-
|
|
|
|
if (!dev->driver)
|
|
if (!dev->driver)
|
|
return;
|
|
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)
|
|
if (drv->rescan)
|
|
drv->rescan(dev);
|
|
drv->rescan(dev);
|
|
- module_put(drv->owner);
|
|
|
|
|
|
+ module_put(dev->driver->owner);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(scsi_rescan_device);
|
|
EXPORT_SYMBOL(scsi_rescan_device);
|