There seems rdata should get put before return.
Signed-off-by: Hillf Danton <[email protected]>
---
--- a/drivers/scsi/libfc/fc_rport.c 2010-09-13 07:07:38.000000000 +0800
+++ b/drivers/scsi/libfc/fc_rport.c 2010-10-27 20:37:30.000000000 +0800
@@ -652,7 +652,7 @@ void fc_rport_flogi_resp(struct fc_seq *
FC_RPORT_DBG(rdata, "Received a FLOGI %s\n", fc_els_resp_type(fp));
if (fp == ERR_PTR(-FC_EX_CLOSED))
- return;
+ goto put;
mutex_lock(&rdata->rp_mutex);
@@ -689,6 +689,7 @@ out:
fc_frame_free(fp);
err:
mutex_unlock(&rdata->rp_mutex);
+put:
kref_put(&rdata->kref, rdata->local_port->tt.rport_destroy);
return;
bad:
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel