aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2012-06-30 09:16:04 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-07-10 12:16:46 -0400
commita55b316e02dda9ffd7ef5ebb04962607f669baae (patch)
tree2d3894b10f4605f24c284d68591725ce22183b93 /drivers/net
parentbdb903e499aa9dcc727a74942131ef948ebf2e1b (diff)
brcmsmac: remove PCIE() macro
Instead of checking if there is a PCIe core on the bus, better check if hosttype is PCIe. In the original submission to staging PCIE() checked, if the bustype is PCI and the buscore is a PCIe core. Now we assume that all cores bcma supports are PCIe based, so we just have to check if the bustype is PCI. The old code bcmsmac currently uses searches for a PCIe core on the bus and if there is one assumes that this is the buscore, which is wrong. Some SoCs have a PCIe core operating in host mode and this is not the bus core. The old code also caused a null pointer in ai_get_buscoretype() and ai_get_buscorerev() if buscore was not set because there was no PCIe core on the bus. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/aiutils.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
index 3c6f9b1e8d05..c942a882e6ad 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/aiutils.c
@@ -318,9 +318,8 @@
318#define IS_SIM(chippkg) \ 318#define IS_SIM(chippkg) \
319 ((chippkg == HDLSIM_PKG_ID) || (chippkg == HWSIM_PKG_ID)) 319 ((chippkg == HDLSIM_PKG_ID) || (chippkg == HWSIM_PKG_ID))
320 320
321#define PCIE(sih) (ai_get_buscoretype(sih) == PCIE_CORE_ID) 321#define PCI_FORCEHT(sih) ((ai_get_buscoretype(sih) == PCIE_CORE_ID) && \
322 322 (ai_get_chip_id(sih) == BCM4716_CHIP_ID))
323#define PCI_FORCEHT(sih) (PCIE(sih) && (ai_get_chip_id(sih) == BCM4716_CHIP_ID))
324 323
325#ifdef DEBUG 324#ifdef DEBUG
326#define SI_MSG(fmt, ...) pr_debug(fmt, ##__VA_ARGS__) 325#define SI_MSG(fmt, ...) pr_debug(fmt, ##__VA_ARGS__)
@@ -774,7 +773,7 @@ void ai_pci_up(struct si_pub *sih)
774 bcma_core_set_clockmode(cc, BCMA_CLKMODE_FAST); 773 bcma_core_set_clockmode(cc, BCMA_CLKMODE_FAST);
775 } 774 }
776 775
777 if (PCIE(sih)) 776 if (sii->icbus->hosttype == BCMA_HOSTTYPE_PCI)
778 bcma_core_pci_extend_L1timer(&sii->icbus->drv_pci, true); 777 bcma_core_pci_extend_L1timer(&sii->icbus->drv_pci, true);
779} 778}
780 779
@@ -792,7 +791,7 @@ void ai_pci_down(struct si_pub *sih)
792 bcma_core_set_clockmode(cc, BCMA_CLKMODE_DYNAMIC); 791 bcma_core_set_clockmode(cc, BCMA_CLKMODE_DYNAMIC);
793 } 792 }
794 793
795 if (PCIE(sih)) 794 if (sii->icbus->hosttype == BCMA_HOSTTYPE_PCI)
796 bcma_core_pci_extend_L1timer(&sii->icbus->drv_pci, false); 795 bcma_core_pci_extend_L1timer(&sii->icbus->drv_pci, false);
797} 796}
798 797