diff options
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/b43/dma.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/b43/pcmcia.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/if_cs.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00dev.c | 13 |
4 files changed, 21 insertions, 7 deletions
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c index 8a9776b52daf..70db0570adc5 100644 --- a/drivers/net/wireless/b43/dma.c +++ b/drivers/net/wireless/b43/dma.c | |||
@@ -574,6 +574,7 @@ static int setup_rx_descbuffer(struct b43_dmaring *ring, | |||
574 | } | 574 | } |
575 | 575 | ||
576 | if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) { | 576 | if (b43_dma_mapping_error(ring, dmaaddr, ring->rx_buffersize, 0)) { |
577 | b43err(ring->dev->wl, "RX DMA buffer allocation failed\n"); | ||
577 | dev_kfree_skb_any(skb); | 578 | dev_kfree_skb_any(skb); |
578 | return -EIO; | 579 | return -EIO; |
579 | } | 580 | } |
@@ -829,8 +830,12 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev, | |||
829 | DMA_TO_DEVICE); | 830 | DMA_TO_DEVICE); |
830 | 831 | ||
831 | if (b43_dma_mapping_error(ring, dma_test, | 832 | if (b43_dma_mapping_error(ring, dma_test, |
832 | b43_txhdr_size(dev), 1)) | 833 | b43_txhdr_size(dev), 1)) { |
834 | |||
835 | b43err(dev->wl, | ||
836 | "TXHDR DMA allocation failed\n"); | ||
833 | goto err_kfree_txhdr_cache; | 837 | goto err_kfree_txhdr_cache; |
838 | } | ||
834 | } | 839 | } |
835 | 840 | ||
836 | dma_unmap_single(dev->dev->dev, | 841 | dma_unmap_single(dev->dev->dev, |
diff --git a/drivers/net/wireless/b43/pcmcia.c b/drivers/net/wireless/b43/pcmcia.c index b79a6bd5396d..371e4a119511 100644 --- a/drivers/net/wireless/b43/pcmcia.c +++ b/drivers/net/wireless/b43/pcmcia.c | |||
@@ -91,6 +91,8 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev) | |||
91 | 91 | ||
92 | dev->conf.ConfigBase = parse.config.base; | 92 | dev->conf.ConfigBase = parse.config.base; |
93 | dev->conf.Present = parse.config.rmask[0]; | 93 | dev->conf.Present = parse.config.rmask[0]; |
94 | dev->conf.Attributes = CONF_ENABLE_IRQ; | ||
95 | dev->conf.IntType = INT_MEMORY_AND_IO; | ||
94 | 96 | ||
95 | dev->io.BasePort2 = 0; | 97 | dev->io.BasePort2 = 0; |
96 | dev->io.NumPorts2 = 0; | 98 | dev->io.NumPorts2 = 0; |
@@ -112,8 +114,8 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev) | |||
112 | if (res != CS_SUCCESS) | 114 | if (res != CS_SUCCESS) |
113 | goto err_disable; | 115 | goto err_disable; |
114 | 116 | ||
115 | dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_FIRST_SHARED; | 117 | dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING; |
116 | dev->irq.IRQInfo1 = IRQ_LEVEL_ID | IRQ_SHARE_ID; | 118 | dev->irq.IRQInfo1 = IRQ_LEVEL_ID; |
117 | dev->irq.Handler = NULL; /* The handler is registered later. */ | 119 | dev->irq.Handler = NULL; /* The handler is registered later. */ |
118 | dev->irq.Instance = NULL; | 120 | dev->irq.Instance = NULL; |
119 | res = pcmcia_request_irq(dev, &dev->irq); | 121 | res = pcmcia_request_irq(dev, &dev->irq); |
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c index d17746582160..53afebac7146 100644 --- a/drivers/net/wireless/libertas/if_cs.c +++ b/drivers/net/wireless/libertas/if_cs.c | |||
@@ -677,9 +677,7 @@ sbi_get_int_status_exit: | |||
677 | 677 | ||
678 | /* Card has a command result for us */ | 678 | /* Card has a command result for us */ |
679 | if (*ireg & IF_CS_C_S_CMD_UPLD_RDY) { | 679 | if (*ireg & IF_CS_C_S_CMD_UPLD_RDY) { |
680 | spin_lock(&priv->driver_lock); | ||
681 | ret = if_cs_receive_cmdres(priv, priv->upld_buf, &priv->upld_len); | 680 | ret = if_cs_receive_cmdres(priv, priv->upld_buf, &priv->upld_len); |
682 | spin_unlock(&priv->driver_lock); | ||
683 | if (ret < 0) | 681 | if (ret < 0) |
684 | lbs_pr_err("could not receive cmd from card\n"); | 682 | lbs_pr_err("could not receive cmd from card\n"); |
685 | } | 683 | } |
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 62b58a6261fe..50ea7bd0c922 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c | |||
@@ -1252,11 +1252,20 @@ int rt2x00lib_suspend(struct rt2x00_dev *rt2x00dev, pm_message_t state) | |||
1252 | 1252 | ||
1253 | exit: | 1253 | exit: |
1254 | /* | 1254 | /* |
1255 | * Set device mode to sleep for power management. | 1255 | * Set device mode to sleep for power management, |
1256 | * on some hardware this call seems to consistently fail. | ||
1257 | * From the specifications it is hard to tell why it fails, | ||
1258 | * and if this is a "bad thing". | ||
1259 | * Overall it is safe to just ignore the failure and | ||
1260 | * continue suspending. The only downside is that the | ||
1261 | * device will not be in optimal power save mode, but with | ||
1262 | * the radio and the other components already disabled the | ||
1263 | * device is as good as disabled. | ||
1256 | */ | 1264 | */ |
1257 | retval = rt2x00dev->ops->lib->set_device_state(rt2x00dev, STATE_SLEEP); | 1265 | retval = rt2x00dev->ops->lib->set_device_state(rt2x00dev, STATE_SLEEP); |
1258 | if (retval) | 1266 | if (retval) |
1259 | return retval; | 1267 | WARNING(rt2x00dev, "Device failed to enter sleep state, " |
1268 | "continue suspending.\n"); | ||
1260 | 1269 | ||
1261 | return 0; | 1270 | return 0; |
1262 | } | 1271 | } |