Messages in this thread | | | Date | Sat, 9 Mar 2024 14:57:48 +0800 | Subject | Re: [PATCH net-next v2 01/11] net/smc: adapt SMC-D device dump for Emulated-ISM | From | Wen Gu <> |
| |
On 2024/3/8 20:27, Jan Karcher wrote: > > > On 07/03/2024 10:55, Wen Gu wrote: >> The introduction of Emulated-ISM requires adaptation of SMC-D device >> dump. Software implemented non-PCI device (loopback-ism) should be >> handled correctly and the CHID reserved for Emulated-ISM should be got >> from smcd_ops interface instead of PCI information. >> >> Signed-off-by: Wen Gu <guwen@linux.alibaba.com> >> --- >> net/smc/smc_ism.c | 13 ++++++++++--- >> 1 file changed, 10 insertions(+), 3 deletions(-) >> >> diff --git a/net/smc/smc_ism.c b/net/smc/smc_ism.c >> index ac88de2a06a0..b6eca4231913 100644 >> --- a/net/smc/smc_ism.c >> +++ b/net/smc/smc_ism.c >> @@ -252,12 +252,11 @@ static int smc_nl_handle_smcd_dev(struct smcd_dev *smcd, >> char smc_pnet[SMC_MAX_PNETID_LEN + 1]; >> struct smc_pci_dev smc_pci_dev; >> struct nlattr *port_attrs; >> + struct device *device; >> struct nlattr *attrs; >> - struct ism_dev *ism; >> int use_cnt = 0; >> void *nlh; >> - ism = smcd->priv; >> nlh = genlmsg_put(skb, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, >> &smc_gen_nl_family, NLM_F_MULTI, >> SMC_NETLINK_GET_DEV_SMCD); >> @@ -272,7 +271,15 @@ static int smc_nl_handle_smcd_dev(struct smcd_dev *smcd, >> if (nla_put_u8(skb, SMC_NLA_DEV_IS_CRIT, use_cnt > 0)) >> goto errattr; >> memset(&smc_pci_dev, 0, sizeof(smc_pci_dev)); >> - smc_set_pci_values(to_pci_dev(ism->dev.parent), &smc_pci_dev); >> + device = smcd->ops->get_dev(smcd); >> + if (device->parent) >> + smc_set_pci_values(to_pci_dev(device->parent), &smc_pci_dev); >> + if (smc_ism_is_emulated(smcd)) { > > net/smc/smc_ism.c: In function ‘smc_nl_handle_smcd_dev’: > net/smc/smc_ism.c:318:13: error: implicit declaration of function ‘smc_ism_is_emulated’ > [-Werror=implicit-function-declaration] > 318 | if (smc_ism_is_emulated(smcd)) { > | ^~~~~~~~~~~~~~~~~~~ >
Hi Jan, the function smc_ism_is_emulated() is introduced by this merged patch:
b27696cd8fcc ("net/smc: change the term virtual ISM to Emulated-ISM")
Could you please check if your code base has this one?
Thanks!
>> + smc_pci_dev.pci_pchid = smc_ism_get_chid(smcd); >> + if (!device->parent) >> + snprintf(smc_pci_dev.pci_id, sizeof(smc_pci_dev.pci_id), >> + "%s", dev_name(device)); >> + } >> if (nla_put_u32(skb, SMC_NLA_DEV_PCI_FID, smc_pci_dev.pci_fid)) >> goto errattr; >> if (nla_put_u16(skb, SMC_NLA_DEV_PCI_CHID, smc_pci_dev.pci_pchid))
| |