File tree Expand file tree Collapse file tree 1 file changed +6
-1
lines changed Expand file tree Collapse file tree 1 file changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -537,6 +537,11 @@ static void zfcp_fc_adisc_handler(void *data)
537
537
/* port is still good, nothing to do */
538
538
out :
539
539
atomic_andnot (ZFCP_STATUS_PORT_LINK_TEST , & port -> status );
540
+ /*
541
+ * port ref comes from get_device() in zfcp_fc_test_link() and
542
+ * work item zfcp_fc_link_test_work() passes ref via
543
+ * zfcp_fc_adisc() to here, if zfcp_fc_adisc() could send ADISC
544
+ */
540
545
put_device (& port -> dev );
541
546
kmem_cache_free (zfcp_fc_req_cache , fc_req );
542
547
}
@@ -603,7 +608,7 @@ void zfcp_fc_link_test_work(struct work_struct *work)
603
608
604
609
retval = zfcp_fc_adisc (port );
605
610
if (retval == 0 )
606
- return ;
611
+ return ; /* port ref passed to zfcp_fc_adisc(), no put here */
607
612
608
613
/* send of ADISC was not possible */
609
614
atomic_andnot (ZFCP_STATUS_PORT_LINK_TEST , & port -> status );
You can’t perform that action at this time.
0 commit comments