diff options
Diffstat (limited to 'drivers/net/wireless/rtl818x')
-rw-r--r-- | drivers/net/wireless/rtl818x/rtl8180_dev.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/rtl818x/rtl8187_dev.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/rtl818x/rtl8187_leds.c | 10 |
3 files changed, 11 insertions, 9 deletions
diff --git a/drivers/net/wireless/rtl818x/rtl8180_dev.c b/drivers/net/wireless/rtl818x/rtl8180_dev.c index 7e65d7c31802..09f46abc730a 100644 --- a/drivers/net/wireless/rtl818x/rtl8180_dev.c +++ b/drivers/net/wireless/rtl818x/rtl8180_dev.c | |||
@@ -143,7 +143,8 @@ static void rtl8180_handle_rx(struct ieee80211_hw *dev) | |||
143 | if (flags & RTL818X_RX_DESC_FLAG_CRC32_ERR) | 143 | if (flags & RTL818X_RX_DESC_FLAG_CRC32_ERR) |
144 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; | 144 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; |
145 | 145 | ||
146 | ieee80211_rx_irqsafe(dev, skb, &rx_status); | 146 | memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status)); |
147 | ieee80211_rx_irqsafe(dev, skb); | ||
147 | 148 | ||
148 | skb = new_skb; | 149 | skb = new_skb; |
149 | priv->rx_buf[priv->rx_idx] = skb; | 150 | priv->rx_buf[priv->rx_idx] = skb; |
@@ -280,7 +281,7 @@ static int rtl8180_tx(struct ieee80211_hw *dev, struct sk_buff *skb) | |||
280 | (ieee80211_get_tx_rate(dev, info)->bitrate * 2) / 10); | 281 | (ieee80211_get_tx_rate(dev, info)->bitrate * 2) / 10); |
281 | remainder = (16 * (skb->len + 4)) % | 282 | remainder = (16 * (skb->len + 4)) % |
282 | ((ieee80211_get_tx_rate(dev, info)->bitrate * 2) / 10); | 283 | ((ieee80211_get_tx_rate(dev, info)->bitrate * 2) / 10); |
283 | if (remainder > 0 && remainder <= 6) | 284 | if (remainder <= 6) |
284 | plcp_len |= 1 << 15; | 285 | plcp_len |= 1 << 15; |
285 | } | 286 | } |
286 | 287 | ||
diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c index 294250e294dd..53f57dc52226 100644 --- a/drivers/net/wireless/rtl818x/rtl8187_dev.c +++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c | |||
@@ -220,7 +220,7 @@ static void rtl8187_tx_cb(struct urb *urb) | |||
220 | * reading a register in the device. We are in interrupt mode | 220 | * reading a register in the device. We are in interrupt mode |
221 | * here, thus queue the skb and finish on a work queue. */ | 221 | * here, thus queue the skb and finish on a work queue. */ |
222 | skb_queue_tail(&priv->b_tx_status.queue, skb); | 222 | skb_queue_tail(&priv->b_tx_status.queue, skb); |
223 | queue_delayed_work(hw->workqueue, &priv->work, 0); | 223 | ieee80211_queue_delayed_work(hw, &priv->work, 0); |
224 | } | 224 | } |
225 | } | 225 | } |
226 | 226 | ||
@@ -380,7 +380,8 @@ static void rtl8187_rx_cb(struct urb *urb) | |||
380 | rx_status.flag |= RX_FLAG_TSFT; | 380 | rx_status.flag |= RX_FLAG_TSFT; |
381 | if (flags & RTL818X_RX_DESC_FLAG_CRC32_ERR) | 381 | if (flags & RTL818X_RX_DESC_FLAG_CRC32_ERR) |
382 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; | 382 | rx_status.flag |= RX_FLAG_FAILED_FCS_CRC; |
383 | ieee80211_rx_irqsafe(dev, skb, &rx_status); | 383 | memcpy(IEEE80211_SKB_RXCB(skb), &rx_status, sizeof(rx_status)); |
384 | ieee80211_rx_irqsafe(dev, skb); | ||
384 | 385 | ||
385 | skb = dev_alloc_skb(RTL8187_MAX_RX); | 386 | skb = dev_alloc_skb(RTL8187_MAX_RX); |
386 | if (unlikely(!skb)) { | 387 | if (unlikely(!skb)) { |
diff --git a/drivers/net/wireless/rtl818x/rtl8187_leds.c b/drivers/net/wireless/rtl818x/rtl8187_leds.c index cf9f899fe0e6..a6cfb7e77994 100644 --- a/drivers/net/wireless/rtl818x/rtl8187_leds.c +++ b/drivers/net/wireless/rtl818x/rtl8187_leds.c | |||
@@ -108,11 +108,11 @@ static void rtl8187_led_brightness_set(struct led_classdev *led_dev, | |||
108 | struct rtl8187_priv *priv = hw->priv; | 108 | struct rtl8187_priv *priv = hw->priv; |
109 | 109 | ||
110 | if (brightness == LED_OFF) { | 110 | if (brightness == LED_OFF) { |
111 | queue_delayed_work(hw->workqueue, &priv->led_off, 0); | 111 | ieee80211_queue_delayed_work(hw, &priv->led_off, 0); |
112 | /* The LED is off for 1/20 sec so that it just blinks. */ | 112 | /* The LED is off for 1/20 sec so that it just blinks. */ |
113 | queue_delayed_work(hw->workqueue, &priv->led_on, HZ / 20); | 113 | ieee80211_queue_delayed_work(hw, &priv->led_on, HZ / 20); |
114 | } else | 114 | } else |
115 | queue_delayed_work(hw->workqueue, &priv->led_on, 0); | 115 | ieee80211_queue_delayed_work(hw, &priv->led_on, 0); |
116 | } | 116 | } |
117 | 117 | ||
118 | static int rtl8187_register_led(struct ieee80211_hw *dev, | 118 | static int rtl8187_register_led(struct ieee80211_hw *dev, |
@@ -193,7 +193,7 @@ void rtl8187_leds_init(struct ieee80211_hw *dev, u16 custid) | |||
193 | err = rtl8187_register_led(dev, &priv->led_rx, name, | 193 | err = rtl8187_register_led(dev, &priv->led_rx, name, |
194 | ieee80211_get_rx_led_name(dev), ledpin); | 194 | ieee80211_get_rx_led_name(dev), ledpin); |
195 | if (!err) { | 195 | if (!err) { |
196 | queue_delayed_work(dev->workqueue, &priv->led_on, 0); | 196 | ieee80211_queue_delayed_work(dev, &priv->led_on, 0); |
197 | return; | 197 | return; |
198 | } | 198 | } |
199 | /* registration of RX LED failed - unregister TX */ | 199 | /* registration of RX LED failed - unregister TX */ |
@@ -209,7 +209,7 @@ void rtl8187_leds_exit(struct ieee80211_hw *dev) | |||
209 | struct rtl8187_priv *priv = dev->priv; | 209 | struct rtl8187_priv *priv = dev->priv; |
210 | 210 | ||
211 | /* turn the LED off before exiting */ | 211 | /* turn the LED off before exiting */ |
212 | queue_delayed_work(dev->workqueue, &priv->led_off, 0); | 212 | ieee80211_queue_delayed_work(dev, &priv->led_off, 0); |
213 | cancel_delayed_work_sync(&priv->led_off); | 213 | cancel_delayed_work_sync(&priv->led_off); |
214 | cancel_delayed_work_sync(&priv->led_on); | 214 | cancel_delayed_work_sync(&priv->led_on); |
215 | rtl8187_unregister_led(&priv->led_rx); | 215 | rtl8187_unregister_led(&priv->led_rx); |