diff options
Diffstat (limited to 'drivers/net/qlcnic/qlcnic_hw.c')
-rw-r--r-- | drivers/net/qlcnic/qlcnic_hw.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/net/qlcnic/qlcnic_hw.c b/drivers/net/qlcnic/qlcnic_hw.c index 0c2e1f08f459..f776956d2d6c 100644 --- a/drivers/net/qlcnic/qlcnic_hw.c +++ b/drivers/net/qlcnic/qlcnic_hw.c | |||
@@ -538,7 +538,7 @@ int qlcnic_config_hw_lro(struct qlcnic_adapter *adapter, int enable) | |||
538 | return rv; | 538 | return rv; |
539 | } | 539 | } |
540 | 540 | ||
541 | int qlcnic_config_bridged_mode(struct qlcnic_adapter *adapter, int enable) | 541 | int qlcnic_config_bridged_mode(struct qlcnic_adapter *adapter, u32 enable) |
542 | { | 542 | { |
543 | struct qlcnic_nic_req req; | 543 | struct qlcnic_nic_req req; |
544 | u64 word; | 544 | u64 word; |
@@ -704,21 +704,15 @@ int qlcnic_change_mtu(struct net_device *netdev, int mtu) | |||
704 | return rc; | 704 | return rc; |
705 | } | 705 | } |
706 | 706 | ||
707 | int qlcnic_get_mac_addr(struct qlcnic_adapter *adapter, u64 *mac) | 707 | int qlcnic_get_mac_addr(struct qlcnic_adapter *adapter, u8 *mac) |
708 | { | 708 | { |
709 | u32 crbaddr, mac_hi, mac_lo; | 709 | u32 crbaddr; |
710 | int pci_func = adapter->ahw.pci_func; | 710 | int pci_func = adapter->ahw.pci_func; |
711 | 711 | ||
712 | crbaddr = CRB_MAC_BLOCK_START + | 712 | crbaddr = CRB_MAC_BLOCK_START + |
713 | (4 * ((pci_func/2) * 3)) + (4 * (pci_func & 1)); | 713 | (4 * ((pci_func/2) * 3)) + (4 * (pci_func & 1)); |
714 | 714 | ||
715 | mac_lo = QLCRD32(adapter, crbaddr); | 715 | qlcnic_fetch_mac(adapter, crbaddr, crbaddr+4, pci_func & 1, mac); |
716 | mac_hi = QLCRD32(adapter, crbaddr+4); | ||
717 | |||
718 | if (pci_func & 1) | ||
719 | *mac = le64_to_cpu((mac_lo >> 16) | ((u64)mac_hi << 16)); | ||
720 | else | ||
721 | *mac = le64_to_cpu((u64)mac_lo | ((u64)mac_hi << 32)); | ||
722 | 716 | ||
723 | return 0; | 717 | return 0; |
724 | } | 718 | } |