Merge tag 'fbdev-for-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[linux-block.git] / net / smc / smc_diag.c
index a584613aca125620338d07344bb0911b15c0285a..52f7c4f1e7670d723a6858614f071f73dbd88dc5 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "smc.h"
 #include "smc_core.h"
+#include "smc_ism.h"
 
 struct smc_diag_dump_ctx {
        int pos[2];
@@ -153,8 +154,7 @@ static int __smc_diag_dump(struct sock *sk, struct sk_buff *skb,
                        .lnk[0].link_id = link->link_id,
                };
 
-               memcpy(linfo.lnk[0].ibname,
-                      smc->conn.lgr->lnk[0].smcibdev->ibdev->name,
+               memcpy(linfo.lnk[0].ibname, link->smcibdev->ibdev->name,
                       sizeof(link->smcibdev->ibdev->name));
                smc_gid_be16_convert(linfo.lnk[0].gid, link->gid);
                smc_gid_be16_convert(linfo.lnk[0].peer_gid, link->peer_gid);
@@ -168,12 +168,16 @@ static int __smc_diag_dump(struct sock *sk, struct sk_buff *skb,
                struct smc_connection *conn = &smc->conn;
                struct smcd_diag_dmbinfo dinfo;
                struct smcd_dev *smcd = conn->lgr->smcd;
+               struct smcd_gid smcd_gid;
 
                memset(&dinfo, 0, sizeof(dinfo));
 
                dinfo.linkid = *((u32 *)conn->lgr->id);
-               dinfo.peer_gid = conn->lgr->peer_gid;
-               dinfo.my_gid = smcd->ops->get_local_gid(smcd);
+               dinfo.peer_gid = conn->lgr->peer_gid.gid;
+               dinfo.peer_gid_ext = conn->lgr->peer_gid.gid_ext;
+               smcd->ops->get_local_gid(smcd, &smcd_gid);
+               dinfo.my_gid = smcd_gid.gid;
+               dinfo.my_gid_ext = smcd_gid.gid_ext;
                dinfo.token = conn->rmb_desc->token;
                dinfo.peer_token = conn->peer_token;