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

Reply via email to