diff --git a/qbg/lldp_vdpnl.c b/qbg/lldp_vdpnl.c
--- a/qbg/lldp_vdpnl.c
+++ b/qbg/lldp_vdpnl.c
@@ -351,14 +351,15 @@
return vdpnl_error(rc, nlh, len);
vdpnl_reply1(&p, nlh, len);
vf_ports = mynla_nest_start(nlh, IFLA_VF_PORTS);
- vf_port = mynla_nest_start(nlh, IFLA_VF_PORT);
/* Iterate over all profiles */
do {
rc = vdp_status(++i, &p);
- if (rc == 1)
+ if (rc == 1) {
+ vf_port = mynla_nest_start(nlh, IFLA_VF_PORT);
vdpnl_reply2(&p, nlh);
- if (rc == 0) {
mynla_nest_end(nlh, vf_port);
+ }
+ if (rc == 0) {
mynla_nest_end(nlh, vf_ports);
}
} while (rc == 1);