File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed
drivers/net/ethernet/mellanox/mlxsw Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -1784,6 +1784,7 @@ static int mlxsw_pci_reset_at_pci_disable(struct mlxsw_pci *mlxsw_pci,
1784
1784
{
1785
1785
struct pci_dev * pdev = mlxsw_pci -> pdev ;
1786
1786
char mrsr_pl [MLXSW_REG_MRSR_LEN ];
1787
+ struct pci_dev * bridge ;
1787
1788
int err ;
1788
1789
1789
1790
if (!pci_reset_sbr_supported ) {
@@ -1800,6 +1801,9 @@ static int mlxsw_pci_reset_at_pci_disable(struct mlxsw_pci *mlxsw_pci,
1800
1801
sbr :
1801
1802
device_lock_assert (& pdev -> dev );
1802
1803
1804
+ bridge = pci_upstream_bridge (pdev );
1805
+ if (bridge )
1806
+ pci_cfg_access_lock (bridge );
1803
1807
pci_cfg_access_lock (pdev );
1804
1808
pci_save_state (pdev );
1805
1809
@@ -1809,6 +1813,8 @@ static int mlxsw_pci_reset_at_pci_disable(struct mlxsw_pci *mlxsw_pci,
1809
1813
1810
1814
pci_restore_state (pdev );
1811
1815
pci_cfg_access_unlock (pdev );
1816
+ if (bridge )
1817
+ pci_cfg_access_unlock (bridge );
1812
1818
1813
1819
return err ;
1814
1820
}
You can’t perform that action at this time.
0 commit comments