Skip to content

Commit 0c691ea

Browse files
Sathesh B Edaragregkh
authored andcommitted
octeon_ep: fix VF MAC address lifecycle handling
[ Upstream commit a72175c ] Currently, VF MAC address info is not updated when the MAC address is configured from VF, and it is not cleared when the VF is removed. This leads to stale or missing MAC information in the PF, which may cause incorrect state tracking or inconsistencies when VFs are hot-plugged or reassigned. Fix this by: - storing the VF MAC address in the PF when it is set from VF - clearing the stored VF MAC address when the VF is removed This ensures that the PF always has correct VF MAC state. Fixes: cde29af ("octeon_ep: add PF-VF mailbox communication") Signed-off-by: Sathesh B Edara <sedara@marvell.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20250916133207.21737-1-sedara@marvell.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 4c0bfb2 commit 0c691ea

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

drivers/net/ethernet/marvell/octeon_ep/octep_pfvf_mbox.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ static void octep_pfvf_get_mac_addr(struct octep_device *oct, u32 vf_id,
177177
dev_err(&oct->pdev->dev, "Get VF MAC address failed via host control Mbox\n");
178178
return;
179179
}
180+
ether_addr_copy(oct->vf_info[vf_id].mac_addr, rsp->s_set_mac.mac_addr);
180181
rsp->s_set_mac.type = OCTEP_PFVF_MBOX_TYPE_RSP_ACK;
181182
}
182183

@@ -186,6 +187,8 @@ static void octep_pfvf_dev_remove(struct octep_device *oct, u32 vf_id,
186187
{
187188
int err;
188189

190+
/* Reset VF-specific information maintained by the PF */
191+
memset(&oct->vf_info[vf_id], 0, sizeof(struct octep_pfvf_info));
189192
err = octep_ctrl_net_dev_remove(oct, vf_id);
190193
if (err) {
191194
rsp->s.type = OCTEP_PFVF_MBOX_TYPE_RSP_NACK;

0 commit comments

Comments
 (0)