diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-04-15 16:21:34 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-04-15 16:21:34 -0400 |
commit | 5c01d5669356e13f0fb468944c1dd4c6a7e978ad (patch) | |
tree | fa43345288d7b25fac92b3b35360a177c4947313 /drivers/net/wireless/p54 | |
parent | fea069152614cdeefba4b2bf80afcddb9c217fc8 (diff) | |
parent | a5e944f1d955f3819503348426763e21e0413ba6 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Conflicts:
Documentation/feature-removal-schedule.txt
drivers/net/wireless/ath/ath5k/phy.c
drivers/net/wireless/wl12xx/wl1271_main.c
Diffstat (limited to 'drivers/net/wireless/p54')
-rw-r--r-- | drivers/net/wireless/p54/p54pci.c | 26 | ||||
-rw-r--r-- | drivers/net/wireless/p54/txrx.c | 2 |
2 files changed, 14 insertions, 14 deletions
diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c index 269fda362836..86f3e9ac4c7a 100644 --- a/drivers/net/wireless/p54/p54pci.c +++ b/drivers/net/wireless/p54/p54pci.c | |||
@@ -132,7 +132,7 @@ static int p54p_upload_firmware(struct ieee80211_hw *dev) | |||
132 | 132 | ||
133 | static void p54p_refill_rx_ring(struct ieee80211_hw *dev, | 133 | static void p54p_refill_rx_ring(struct ieee80211_hw *dev, |
134 | int ring_index, struct p54p_desc *ring, u32 ring_limit, | 134 | int ring_index, struct p54p_desc *ring, u32 ring_limit, |
135 | struct sk_buff **rx_buf) | 135 | struct sk_buff **rx_buf, u32 index) |
136 | { | 136 | { |
137 | struct p54p_priv *priv = dev->priv; | 137 | struct p54p_priv *priv = dev->priv; |
138 | struct p54p_ring_control *ring_control = priv->ring_control; | 138 | struct p54p_ring_control *ring_control = priv->ring_control; |
@@ -140,7 +140,7 @@ static void p54p_refill_rx_ring(struct ieee80211_hw *dev, | |||
140 | 140 | ||
141 | idx = le32_to_cpu(ring_control->host_idx[ring_index]); | 141 | idx = le32_to_cpu(ring_control->host_idx[ring_index]); |
142 | limit = idx; | 142 | limit = idx; |
143 | limit -= le32_to_cpu(ring_control->device_idx[ring_index]); | 143 | limit -= le32_to_cpu(index); |
144 | limit = ring_limit - limit; | 144 | limit = ring_limit - limit; |
145 | 145 | ||
146 | i = idx % ring_limit; | 146 | i = idx % ring_limit; |
@@ -232,7 +232,7 @@ static void p54p_check_rx_ring(struct ieee80211_hw *dev, u32 *index, | |||
232 | i %= ring_limit; | 232 | i %= ring_limit; |
233 | } | 233 | } |
234 | 234 | ||
235 | p54p_refill_rx_ring(dev, ring_index, ring, ring_limit, rx_buf); | 235 | p54p_refill_rx_ring(dev, ring_index, ring, ring_limit, rx_buf, *index); |
236 | } | 236 | } |
237 | 237 | ||
238 | static void p54p_check_tx_ring(struct ieee80211_hw *dev, u32 *index, | 238 | static void p54p_check_tx_ring(struct ieee80211_hw *dev, u32 *index, |
@@ -277,14 +277,6 @@ static void p54p_tasklet(unsigned long dev_id) | |||
277 | struct p54p_priv *priv = dev->priv; | 277 | struct p54p_priv *priv = dev->priv; |
278 | struct p54p_ring_control *ring_control = priv->ring_control; | 278 | struct p54p_ring_control *ring_control = priv->ring_control; |
279 | 279 | ||
280 | p54p_check_tx_ring(dev, &priv->tx_idx_mgmt, 3, ring_control->tx_mgmt, | ||
281 | ARRAY_SIZE(ring_control->tx_mgmt), | ||
282 | priv->tx_buf_mgmt); | ||
283 | |||
284 | p54p_check_tx_ring(dev, &priv->tx_idx_data, 1, ring_control->tx_data, | ||
285 | ARRAY_SIZE(ring_control->tx_data), | ||
286 | priv->tx_buf_data); | ||
287 | |||
288 | p54p_check_rx_ring(dev, &priv->rx_idx_mgmt, 2, ring_control->rx_mgmt, | 280 | p54p_check_rx_ring(dev, &priv->rx_idx_mgmt, 2, ring_control->rx_mgmt, |
289 | ARRAY_SIZE(ring_control->rx_mgmt), priv->rx_buf_mgmt); | 281 | ARRAY_SIZE(ring_control->rx_mgmt), priv->rx_buf_mgmt); |
290 | 282 | ||
@@ -293,6 +285,14 @@ static void p54p_tasklet(unsigned long dev_id) | |||
293 | 285 | ||
294 | wmb(); | 286 | wmb(); |
295 | P54P_WRITE(dev_int, cpu_to_le32(ISL38XX_DEV_INT_UPDATE)); | 287 | P54P_WRITE(dev_int, cpu_to_le32(ISL38XX_DEV_INT_UPDATE)); |
288 | |||
289 | p54p_check_tx_ring(dev, &priv->tx_idx_mgmt, 3, ring_control->tx_mgmt, | ||
290 | ARRAY_SIZE(ring_control->tx_mgmt), | ||
291 | priv->tx_buf_mgmt); | ||
292 | |||
293 | p54p_check_tx_ring(dev, &priv->tx_idx_data, 1, ring_control->tx_data, | ||
294 | ARRAY_SIZE(ring_control->tx_data), | ||
295 | priv->tx_buf_data); | ||
296 | } | 296 | } |
297 | 297 | ||
298 | static irqreturn_t p54p_interrupt(int irq, void *dev_id) | 298 | static irqreturn_t p54p_interrupt(int irq, void *dev_id) |
@@ -445,10 +445,10 @@ static int p54p_open(struct ieee80211_hw *dev) | |||
445 | priv->rx_idx_mgmt = priv->tx_idx_mgmt = 0; | 445 | priv->rx_idx_mgmt = priv->tx_idx_mgmt = 0; |
446 | 446 | ||
447 | p54p_refill_rx_ring(dev, 0, priv->ring_control->rx_data, | 447 | p54p_refill_rx_ring(dev, 0, priv->ring_control->rx_data, |
448 | ARRAY_SIZE(priv->ring_control->rx_data), priv->rx_buf_data); | 448 | ARRAY_SIZE(priv->ring_control->rx_data), priv->rx_buf_data, 0); |
449 | 449 | ||
450 | p54p_refill_rx_ring(dev, 2, priv->ring_control->rx_mgmt, | 450 | p54p_refill_rx_ring(dev, 2, priv->ring_control->rx_mgmt, |
451 | ARRAY_SIZE(priv->ring_control->rx_mgmt), priv->rx_buf_mgmt); | 451 | ARRAY_SIZE(priv->ring_control->rx_mgmt), priv->rx_buf_mgmt, 0); |
452 | 452 | ||
453 | P54P_WRITE(ring_control_base, cpu_to_le32(priv->ring_control_dma)); | 453 | P54P_WRITE(ring_control_base, cpu_to_le32(priv->ring_control_dma)); |
454 | P54P_READ(ring_control_base); | 454 | P54P_READ(ring_control_base); |
diff --git a/drivers/net/wireless/p54/txrx.c b/drivers/net/wireless/p54/txrx.c index 66057999a93c..2ceff5480355 100644 --- a/drivers/net/wireless/p54/txrx.c +++ b/drivers/net/wireless/p54/txrx.c | |||
@@ -38,7 +38,7 @@ static void p54_dump_tx_queue(struct p54_common *priv) | |||
38 | u32 largest_hole = 0, free; | 38 | u32 largest_hole = 0, free; |
39 | 39 | ||
40 | spin_lock_irqsave(&priv->tx_queue.lock, flags); | 40 | spin_lock_irqsave(&priv->tx_queue.lock, flags); |
41 | printk(KERN_DEBUG "%s: / --- tx queue dump (%d entries) --- \n", | 41 | printk(KERN_DEBUG "%s: / --- tx queue dump (%d entries) ---\n", |
42 | wiphy_name(priv->hw->wiphy), skb_queue_len(&priv->tx_queue)); | 42 | wiphy_name(priv->hw->wiphy), skb_queue_len(&priv->tx_queue)); |
43 | 43 | ||
44 | prev_addr = priv->rx_start; | 44 | prev_addr = priv->rx_start; |