aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorMichael Buesch <mbuesch@freenet.de>2006-03-11 07:15:02 -0500
committerJohn W. Linville <linville@tuxdriver.com>2006-03-27 11:19:34 -0500
commit4d5a9e0eeb7ec928c6bd55db410f09ed3779bc2a (patch)
treefc7b3a0ce10f3495883d4d4788c77617ddba9fa9 /drivers/net
parent512a80916b8d04529c0915534c63529144f74e10 (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.c9
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;