diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-02-03 17:57:16 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-02-03 17:57:16 +0100 |
commit | 3fe9cf390f6dc84f76b112b0a660967a84f9a81b (patch) | |
tree | 18b8573687ae8131db155aa791f4d2357d91e6c5 /drivers/scsi/scsi.c | |
parent | 6ccd93bdb989507717edb375d40534f1177822c5 (diff) | |
parent | 830953c0724b42be30a74febcde6c89c706ed286 (diff) |
Merge branch 'topic/snd-device' into for-next
Diffstat (limited to 'drivers/scsi/scsi.c')
-rw-r--r-- | drivers/scsi/scsi.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index e02885451425..9b3829931f40 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -986,9 +986,9 @@ int scsi_device_get(struct scsi_device *sdev) return -ENXIO; if (!get_device(&sdev->sdev_gendev)) return -ENXIO; - /* We can fail this if we're doing SCSI operations + /* We can fail try_module_get if we're doing SCSI operations * from module exit (like cache flush) */ - try_module_get(sdev->host->hostt->module); + __module_get(sdev->host->hostt->module); return 0; } @@ -1004,14 +1004,7 @@ EXPORT_SYMBOL(scsi_device_get); */ void scsi_device_put(struct scsi_device *sdev) { -#ifdef CONFIG_MODULE_UNLOAD - struct module *module = sdev->host->hostt->module; - - /* The module refcount will be zero if scsi_device_get() - * was called from a module removal routine */ - if (module && module_refcount(module) != 0) - module_put(module); -#endif + module_put(sdev->host->hostt->module); put_device(&sdev->sdev_gendev); } EXPORT_SYMBOL(scsi_device_put); |