diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2008-09-14 20:15:46 +0200 |
---|---|---|
committer | Luis R. Rodriguez <lrodriguez@atheros.com> | 2008-09-15 09:44:48 -0700 |
commit | 0b0b33e9af6abc9bb5b7c02ddbc6f68387236dda (patch) | |
tree | 83aa21aa4ee6d01ab5a9e52856ad8cd9ddeca9ec | |
parent | f9d4ff61a983aedf27b9f02c38389a5894bbccd0 (diff) | |
download | compat-wireless-2.6-old-0b0b33e9af6abc9bb5b7c02ddbc6f68387236dda.tar.gz |
ath5k compat patches for older kernels
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
-rw-r--r-- | drivers/net/wireless/ath5k/attach.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/ath5k/base.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/ath5k/reset.c | 8 |
3 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath5k/attach.c b/drivers/net/wireless/ath5k/attach.c index 153c411..c5ceb1f 100644 --- a/drivers/net/wireless/ath5k/attach.c +++ b/drivers/net/wireless/ath5k/attach.c @@ -230,7 +230,11 @@ struct ath5k_hw *ath5k_hw_attach(struct ath5k_softc *sc, u8 mac_version) /* * Write PCI-E power save settings */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + if ((ah->ah_version == AR5K_AR5212) && compat_is_pcie(pdev)) { +#else if ((ah->ah_version == AR5K_AR5212) && (pdev->is_pcie)) { +#endif ath5k_hw_reg_write(ah, 0x9248fc00, 0x4080); ath5k_hw_reg_write(ah, 0x24924924, 0x4080); ath5k_hw_reg_write(ah, 0x28000039, 0x4080); diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c index e09ed2c..20bd58c 100644 --- a/drivers/net/wireless/ath5k/base.c +++ b/drivers/net/wireless/ath5k/base.c @@ -1117,7 +1117,11 @@ ath5k_rxbuf_setup(struct ath5k_softc *sc, struct ath5k_buf *bf) bf->skb = skb; bf->skbaddr = pci_map_single(sc->pdev, skb->data, sc->rxbufsize, PCI_DMA_FROMDEVICE); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)) + if (unlikely(pci_dma_mapping_error(bf->skbaddr))) { +#else if (unlikely(pci_dma_mapping_error(sc->pdev, bf->skbaddr))) { +#endif ATH5K_ERR(sc, "%s: DMA mapping failed\n", __func__); dev_kfree_skb(skb); bf->skb = NULL; @@ -1884,7 +1888,11 @@ ath5k_beacon_setup(struct ath5k_softc *sc, struct ath5k_buf *bf) ATH5K_DBG(sc, ATH5K_DEBUG_BEACON, "skb %p [data %p len %u] " "skbaddr %llx\n", skb, skb->data, skb->len, (unsigned long long)bf->skbaddr); +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)) + if (pci_dma_mapping_error(bf->skbaddr)) { +#else if (pci_dma_mapping_error(sc->pdev, bf->skbaddr)) { +#endif ATH5K_ERR(sc, "beacon DMA mapping failed\n"); return -EIO; } diff --git a/drivers/net/wireless/ath5k/reset.c b/drivers/net/wireless/ath5k/reset.c index f5c3de8..f93956b 100644 --- a/drivers/net/wireless/ath5k/reset.c +++ b/drivers/net/wireless/ath5k/reset.c @@ -358,7 +358,11 @@ int ath5k_hw_nic_wakeup(struct ath5k_hw *ah, int flags, bool initial) /* reseting PCI on PCI-E cards results card to hang * and always return 0xffff... so we ingore that flag * for PCI-E cards */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + bus_flags = compat_is_pcie(pdev) ? 0 : AR5K_RESET_CTL_PCI; +#else bus_flags = (pdev->is_pcie) ? 0 : AR5K_RESET_CTL_PCI; +#endif /* Reset chipset */ ret = ath5k_hw_nic_reset(ah, AR5K_RESET_CTL_PCU | @@ -754,7 +758,11 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode, * TODO: Check out tx triger level, it's always 64 on dumps but I * guess we can tweak it and see how it goes ;-) */ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)) + dma_size = compat_is_pcie(pdev) ? AR5K_DMASIZE_128B : AR5K_DMASIZE_512B; +#else dma_size = (pdev->is_pcie) ? AR5K_DMASIZE_128B : AR5K_DMASIZE_512B; +#endif if (ah->ah_version != AR5K_AR5210) { AR5K_REG_WRITE_BITS(ah, AR5K_TXCFG, AR5K_TXCFG_SDMAMR, dma_size); |