/* lpfc_bsg_request - handle a bsg request from the FC transport @job: fc_bsg_job to handle  */
int lpfc_bsg_request(struct fc_bsg_job *job)
/* lpfc_bsg_request - handle a bsg request from the FC transport @job: fc_bsg_job to handle  */
int lpfc_bsg_request(struct fc_bsg_job *job)
{
	uint32_t msgcode;
	int rc = -EINVAL;
	msgcode = job->request->msgcode;
	switch (msgcode) {
	case FC_BSG_HST_VENDOR:
		rc = lpfc_bsg_hst_vendor(job);
		break;
	case FC_BSG_RPT_ELS:
		rc = lpfc_bsg_rport_els(job);
		break;
	case FC_BSG_RPT_CT:
		rc = lpfc_bsg_rport_ct(job);
		break;
	default:
		break;
	}
	return rc;
}