diff options
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be.h | 1 | ||||
-rw-r--r-- | drivers/net/ethernet/emulex/benet/be_main.c | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h index cf837831304b..f9751294ece7 100644 --- a/drivers/net/ethernet/emulex/benet/be.h +++ b/drivers/net/ethernet/emulex/benet/be.h | |||
@@ -531,6 +531,7 @@ struct be_adapter { | |||
531 | 531 | ||
532 | struct delayed_work be_err_detection_work; | 532 | struct delayed_work be_err_detection_work; |
533 | u8 err_flags; | 533 | u8 err_flags; |
534 | bool pcicfg_mapped; /* pcicfg obtained via pci_iomap() */ | ||
534 | u32 flags; | 535 | u32 flags; |
535 | u32 cmd_privileges; | 536 | u32 cmd_privileges; |
536 | /* Ethtool knobs and info */ | 537 | /* Ethtool knobs and info */ |
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index db81e3d9623f..d1cf1274fc2f 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c | |||
@@ -4970,6 +4970,8 @@ static void be_unmap_pci_bars(struct be_adapter *adapter) | |||
4970 | pci_iounmap(adapter->pdev, adapter->csr); | 4970 | pci_iounmap(adapter->pdev, adapter->csr); |
4971 | if (adapter->db) | 4971 | if (adapter->db) |
4972 | pci_iounmap(adapter->pdev, adapter->db); | 4972 | pci_iounmap(adapter->pdev, adapter->db); |
4973 | if (adapter->pcicfg && adapter->pcicfg_mapped) | ||
4974 | pci_iounmap(adapter->pdev, adapter->pcicfg); | ||
4973 | } | 4975 | } |
4974 | 4976 | ||
4975 | static int db_bar(struct be_adapter *adapter) | 4977 | static int db_bar(struct be_adapter *adapter) |
@@ -5021,8 +5023,10 @@ static int be_map_pci_bars(struct be_adapter *adapter) | |||
5021 | if (!addr) | 5023 | if (!addr) |
5022 | goto pci_map_err; | 5024 | goto pci_map_err; |
5023 | adapter->pcicfg = addr; | 5025 | adapter->pcicfg = addr; |
5026 | adapter->pcicfg_mapped = true; | ||
5024 | } else { | 5027 | } else { |
5025 | adapter->pcicfg = adapter->db + SRIOV_VF_PCICFG_OFFSET; | 5028 | adapter->pcicfg = adapter->db + SRIOV_VF_PCICFG_OFFSET; |
5029 | adapter->pcicfg_mapped = false; | ||
5026 | } | 5030 | } |
5027 | } | 5031 | } |
5028 | 5032 | ||