diff options
author | Michael Buesch <mbuesch@freenet.de> | 2006-03-11 07:15:02 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2006-03-27 11:19:34 -0500 |
commit | 4d5a9e0eeb7ec928c6bd55db410f09ed3779bc2a (patch) | |
tree | fc7b3a0ce10f3495883d4d4788c77617ddba9fa9 /drivers/net | |
parent | 512a80916b8d04529c0915534c63529144f74e10 (diff) |
[PATCH] bcm43xx: Set both, the DMAmask and the coherent DMAmask.
This has a potential to fix the >1G bug. But I can not test that, yet.
Signed-off-by: Michael Buesch <mbuesch@freenet.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_main.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c index 1fe2fa9856e3..6da0beb0a933 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c | |||
@@ -3717,6 +3717,8 @@ static int bcm43xx_init_private(struct bcm43xx_private *bcm, | |||
3717 | struct net_device *net_dev, | 3717 | struct net_device *net_dev, |
3718 | struct pci_dev *pci_dev) | 3718 | struct pci_dev *pci_dev) |
3719 | { | 3719 | { |
3720 | int err; | ||
3721 | |||
3720 | bcm->ieee = netdev_priv(net_dev); | 3722 | bcm->ieee = netdev_priv(net_dev); |
3721 | bcm->softmac = ieee80211_priv(net_dev); | 3723 | bcm->softmac = ieee80211_priv(net_dev); |
3722 | bcm->softmac->set_channel = bcm43xx_ieee80211_set_chan; | 3724 | bcm->softmac->set_channel = bcm43xx_ieee80211_set_chan; |
@@ -3735,8 +3737,7 @@ static int bcm43xx_init_private(struct bcm43xx_private *bcm, | |||
3735 | bcm->irq_savedstate = BCM43xx_IRQ_INITIAL; | 3737 | bcm->irq_savedstate = BCM43xx_IRQ_INITIAL; |
3736 | bcm->pci_dev = pci_dev; | 3738 | bcm->pci_dev = pci_dev; |
3737 | bcm->net_dev = net_dev; | 3739 | bcm->net_dev = net_dev; |
3738 | if (modparam_bad_frames_preempt) | 3740 | bcm->bad_frames_preempt = modparam_bad_frames_preempt; |
3739 | bcm->bad_frames_preempt = 1; | ||
3740 | spin_lock_init(&bcm->lock); | 3741 | spin_lock_init(&bcm->lock); |
3741 | tasklet_init(&bcm->isr_tasklet, | 3742 | tasklet_init(&bcm->isr_tasklet, |
3742 | (void (*)(unsigned long))bcm43xx_interrupt_tasklet, | 3743 | (void (*)(unsigned long))bcm43xx_interrupt_tasklet, |
@@ -3745,7 +3746,9 @@ static int bcm43xx_init_private(struct bcm43xx_private *bcm, | |||
3745 | if (modparam_pio) { | 3746 | if (modparam_pio) { |
3746 | bcm->__using_pio = 1; | 3747 | bcm->__using_pio = 1; |
3747 | } else { | 3748 | } else { |
3748 | if (pci_set_dma_mask(pci_dev, DMA_30BIT_MASK)) { | 3749 | err = pci_set_dma_mask(pci_dev, DMA_30BIT_MASK); |
3750 | err |= pci_set_consistent_dma_mask(pci_dev, DMA_30BIT_MASK); | ||
3751 | if (err) { | ||
3749 | #ifdef CONFIG_BCM43XX_PIO | 3752 | #ifdef CONFIG_BCM43XX_PIO |
3750 | printk(KERN_WARNING PFX "DMA not supported. Falling back to PIO.\n"); | 3753 | printk(KERN_WARNING PFX "DMA not supported. Falling back to PIO.\n"); |
3751 | bcm->__using_pio = 1; | 3754 | bcm->__using_pio = 1; |