From e1f730c060822a81abc8cd7ae70ca55ba7ec1c3f Mon Sep 17 00:00:00 2001 From: Bhadram Varka Date: Thu, 24 Mar 2022 05:21:55 +0530 Subject: [PATCH] nvethernet: don't disable clks in hypervisor mode Issue: HV will program the ASID registers. This register programming will not go through if clks are disabled on interface down. Fix: Don't disable clks in hypervisor mode while performing the ethernet interface down. Bug 3580629 Change-Id: I2f84cea9348ecf83d44352ebae19fcc29896913e Signed-off-by: Bhadram Varka Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2686127 Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-cert Reviewed-by: svcacv Reviewed-by: svc_kernel_abi Reviewed-by: Narayan Reddy Reviewed-by: Bibek Basu Reviewed-by: Rakesh Goyal --- drivers/net/ethernet/nvidia/nvethernet/ether_linux.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index 19706080..3385d499 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -428,7 +428,8 @@ static void ether_disable_eqos_clks(struct ether_priv_data *pdata) */ static void ether_disable_clks(struct ether_priv_data *pdata) { - if (pdata->osi_core->use_virtualization == OSI_DISABLE) { + if (pdata->osi_core->use_virtualization == OSI_DISABLE && + !is_tegra_hypervisor_mode()) { if (pdata->osi_core->mac == OSI_MAC_HW_MGBE) { ether_disable_mgbe_clks(pdata); } else {