diff options
Diffstat (limited to 'drivers/scsi/scsi_transport_iscsi.c')
-rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 147c854e1d4d..8717ff51ba4b 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c | |||
@@ -228,13 +228,11 @@ static struct iscsi_cls_conn *iscsi_conn_lookup(uint32_t sid, uint32_t cid) | |||
228 | static void iscsi_session_release(struct device *dev) | 228 | static void iscsi_session_release(struct device *dev) |
229 | { | 229 | { |
230 | struct iscsi_cls_session *session = iscsi_dev_to_session(dev); | 230 | struct iscsi_cls_session *session = iscsi_dev_to_session(dev); |
231 | struct iscsi_transport *transport = session->transport; | ||
232 | struct Scsi_Host *shost; | 231 | struct Scsi_Host *shost; |
233 | 232 | ||
234 | shost = iscsi_session_to_shost(session); | 233 | shost = iscsi_session_to_shost(session); |
235 | scsi_host_put(shost); | 234 | scsi_host_put(shost); |
236 | kfree(session); | 235 | kfree(session); |
237 | module_put(transport->owner); | ||
238 | } | 236 | } |
239 | 237 | ||
240 | static int iscsi_is_session_dev(const struct device *dev) | 238 | static int iscsi_is_session_dev(const struct device *dev) |
@@ -305,13 +303,11 @@ iscsi_create_session(struct Scsi_Host *shost, | |||
305 | struct iscsi_cls_session *session; | 303 | struct iscsi_cls_session *session; |
306 | int err; | 304 | int err; |
307 | 305 | ||
308 | if (!try_module_get(transport->owner)) | ||
309 | return NULL; | ||
310 | |||
311 | session = kzalloc(sizeof(*session) + transport->sessiondata_size, | 306 | session = kzalloc(sizeof(*session) + transport->sessiondata_size, |
312 | GFP_KERNEL); | 307 | GFP_KERNEL); |
313 | if (!session) | 308 | if (!session) |
314 | goto module_put; | 309 | return NULL; |
310 | |||
315 | session->transport = transport; | 311 | session->transport = transport; |
316 | session->recovery_tmo = 120; | 312 | session->recovery_tmo = 120; |
317 | INIT_WORK(&session->recovery_work, session_recovery_timedout, session); | 313 | INIT_WORK(&session->recovery_work, session_recovery_timedout, session); |
@@ -349,8 +345,6 @@ iscsi_create_session(struct Scsi_Host *shost, | |||
349 | 345 | ||
350 | free_session: | 346 | free_session: |
351 | kfree(session); | 347 | kfree(session); |
352 | module_put: | ||
353 | module_put(transport->owner); | ||
354 | return NULL; | 348 | return NULL; |
355 | } | 349 | } |
356 | 350 | ||