Skip to content

Commit

Permalink
[SCSI] bfa: Fix to copy fpma MAC when requested by user space applica…
Browse files Browse the repository at this point in the history
…tion.

Copy fpma MAC when requested by user space application.  Added FPMA
mac address to the lport attributes structure.

Signed-off-by: Krishna Gudipati <kgudipat@brocade.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
  • Loading branch information
Krishna Gudipati authored and James Bottomley committed Mar 7, 2010
1 parent 72041ed commit 86e32da
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 4 deletions.
7 changes: 6 additions & 1 deletion drivers/scsi/bfa/bfa_fcs_lport.c
Original file line number Diff line number Diff line change
Expand Up @@ -936,8 +936,13 @@ bfa_fcs_port_get_attr(struct bfa_fcs_port_s *port,
bfa_fcs_port_get_fabric_ipaddr(port),
BFA_FCS_FABRIC_IPADDR_SZ);

if (port->vport != NULL)
if (port->vport != NULL) {
port_attr->port_type = BFA_PPORT_TYPE_VPORT;
port_attr->fpma_mac =
bfa_lps_get_lp_mac(port->vport->lps);
} else
port_attr->fpma_mac =
bfa_lps_get_lp_mac(port->fabric->lps);

} else {
port_attr->port_type = BFA_PPORT_TYPE_UNKNOWN;
Expand Down
12 changes: 10 additions & 2 deletions drivers/scsi/bfa/bfa_lps.c
Original file line number Diff line number Diff line change
Expand Up @@ -613,9 +613,9 @@ bfa_lps_get_max_vport(struct bfa_s *bfa)
bfa_get_attr(bfa, &ioc_attr);

if (ioc_attr.pci_attr.device_id == BFA_PCI_DEVICE_ID_CT)
return (BFA_LPS_MAX_VPORTS_SUPP_CT);
return BFA_LPS_MAX_VPORTS_SUPP_CT;
else
return (BFA_LPS_MAX_VPORTS_SUPP_CB);
return BFA_LPS_MAX_VPORTS_SUPP_CB;
}

/**
Expand Down Expand Up @@ -837,6 +837,14 @@ bfa_lps_get_lsrjt_expl(struct bfa_lps_s *lps)
return lps->lsrjt_expl;
}

/**
* Return fpma/spma MAC for lport
*/
struct mac_s
bfa_lps_get_lp_mac(struct bfa_lps_s *lps)
{
return lps->lp_mac;
}

/**
* LPS firmware message class handler.
Expand Down
1 change: 1 addition & 0 deletions drivers/scsi/bfa/include/bfa_svc.h
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,7 @@ wwn_t bfa_lps_get_peer_pwwn(struct bfa_lps_s *lps);
wwn_t bfa_lps_get_peer_nwwn(struct bfa_lps_s *lps);
u8 bfa_lps_get_lsrjt_rsn(struct bfa_lps_s *lps);
u8 bfa_lps_get_lsrjt_expl(struct bfa_lps_s *lps);
mac_t bfa_lps_get_lp_mac(struct bfa_lps_s *lps);
void bfa_cb_lps_flogi_comp(void *bfad, void *uarg, bfa_status_t status);
void bfa_cb_lps_flogo_comp(void *bfad, void *uarg);
void bfa_cb_lps_fdisc_comp(void *bfad, void *uarg, bfa_status_t status);
Expand Down
4 changes: 3 additions & 1 deletion drivers/scsi/bfa/include/defs/bfa_defs_port.h
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,8 @@ struct bfa_port_attr_s {
wwn_t fabric_name; /* attached switch's nwwn */
u8 fabric_ip_addr[BFA_FCS_FABRIC_IPADDR_SZ]; /* attached
* fabric's ip addr */
struct mac_s fpma_mac; /* Lport's FPMA Mac address */
u16 authfail; /* auth failed state */
};

/**
Expand Down Expand Up @@ -235,7 +237,7 @@ struct bfa_port_aen_data_s {
enum bfa_ioc_type_e ioc_type;
wwn_t pwwn; /* WWN of the physical port */
wwn_t fwwn; /* WWN of the fabric port */
mac_t mac; /* MAC addres of the ethernet port,
mac_t mac; /* MAC address of the ethernet port,
* applicable to CNA port only */
int phy_port_num; /*! For SFP related events */
enum bfa_port_aen_sfp_pom level; /* Only transitions will
Expand Down

0 comments on commit 86e32da

Please sign in to comment.