/* fc_exch_mgr_add() - Add an exchange manager to a local port's list of EMs @lport:  */
struct fc_exch_mgr_anchor* fc_exch_mgr_add(struct fc_lport *lport, struct fc_exch_mgr *mp, bool(*match)(struct fc_frame *))
/* fc_exch_mgr_add() - Add an exchange manager to a local port's list of EMs @lport:  */
struct fc_exch_mgr_anchor* fc_exch_mgr_add(struct fc_lport *lport, struct fc_exch_mgr *mp, bool(*match)(struct fc_frame *))
{
	struct fc_exch_mgr_anchor *ema;
	ema = kmalloc(sizeof(*ema), GFP_ATOMIC);
	if (!ema)
		return ema;
	ema->mp = mp;
	ema->match = match;
	list_add_tail(&ema->ema_list, &lport->ema_list);
	kref_get(&mp->kref);
	return ema;
}