Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5cbf083 authored by Joe Eykholt's avatar Joe Eykholt Committed by James Bottomley
Browse files

[SCSI] libfc: simplify fc_lport_rport_callback



The lport rport callback can only be called for the dNS rport,
since its the only rport who's ops point to that function.

Remove unnecessary checking and debug messages.
Put the locking outside the switch statement as a simplification.

Signed-off-by: default avatarJoe Eykholt <jeykholt@cisco.com>
Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent cdbe6dfe
Loading
Loading
Loading
Loading
+15 −28
Original line number Diff line number Diff line
@@ -146,10 +146,9 @@ static void fc_lport_rport_callback(struct fc_lport *lport,
	FC_LPORT_DBG(lport, "Received a %d event for port (%6x)\n", event,
		     rdata->ids.port_id);

	mutex_lock(&lport->lp_mutex);
	switch (event) {
	case RPORT_EV_READY:
		if (rdata->ids.port_id == FC_FID_DIR_SERV) {
			mutex_lock(&lport->lp_mutex);
		if (lport->state == LPORT_ST_DNS) {
			lport->dns_rp = rdata;
			fc_lport_enter_rpn_id(lport);
@@ -162,28 +161,16 @@ static void fc_lport_rport_callback(struct fc_lport *lport,
				     lport->state);
			lport->tt.rport_logoff(rdata);
		}
			mutex_unlock(&lport->lp_mutex);
		} else
			FC_LPORT_DBG(lport, "Received an event for port (%6x) "
				     "which is not the directory server\n",
				     rdata->ids.port_id);
		break;
	case RPORT_EV_LOGO:
	case RPORT_EV_FAILED:
	case RPORT_EV_STOP:
		if (rdata->ids.port_id == FC_FID_DIR_SERV) {
			mutex_lock(&lport->lp_mutex);
		lport->dns_rp = NULL;
			mutex_unlock(&lport->lp_mutex);

		} else
			FC_LPORT_DBG(lport, "Received an event for port (%6x) "
				     "which is not the directory server\n",
				     rdata->ids.port_id);
		break;
	case RPORT_EV_NONE:
		break;
	}
	mutex_unlock(&lport->lp_mutex);
}

/**