On 10/5/2020 11:16 PM, Nilesh Javali wrote:
From: Shyam Sundar <ssundar@xxxxxxxxxxx> Parse the incoming FPIN packets and update the host and rport FPIN statistics based on the FPINs. Signed-off-by: Shyam Sundar <ssundar@xxxxxxxxxxx> Signed-off-by: Nilesh Javali <njavali@xxxxxxxxxxx> --- ... +/* + * fc_fpin_li_stats_update - routine to update Link Integrity + * event statistics. + * @shost: host the FPIN was received on + * @tlv: pointer to link integrity descriptor + * + */ +static void +fc_fpin_li_stats_update(struct Scsi_Host *shost, struct fc_tlv_desc *tlv) +{ + u8 i; + struct fc_rport *rport = NULL; + struct fc_rport *det_rport = NULL, *attach_rport = NULL; + struct fc_host_attrs *fc_host = shost_to_fc_host(shost); + struct fc_fn_li_desc *li_desc = (struct fc_fn_li_desc *)tlv; + u64 wwpn; + + rport = fc_find_rport_by_wwpn(shost, + be64_to_cpu(li_desc->detecting_wwpn)); + if (rport && + ((rport->roles & FC_PORT_ROLE_FCP_TARGET) || + (rport->roles & FC_PORT_ROLE_NVME_TARGET))) { + det_rport = rport; + fc_li_stats_update(li_desc, &det_rport->fpin_stats); + }
I thought we agreed to not include the detecting port in stat updates.
+ + rport = fc_find_rport_by_wwpn(shost, + be64_to_cpu(li_desc->attached_wwpn)); + if (rport && + ((rport->roles & FC_PORT_ROLE_FCP_TARGET) || + (rport->roles & FC_PORT_ROLE_NVME_TARGET))) {
nits: indent the last line by 1 more space to align elements; superfluous parens on role checks (i.e. the inner conditions don't need to be parenthesized as order of precedence works fine).
same comments apply to the other parts. -- james
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature