* [PATCH 01/06] rt2x00: Shortcut link state updates when not operating as STA
@ 2010-10-09 11:33 Ivo van Doorn
2010-10-09 11:33 ` [PATCH 02/06] rt2x00: Optimize unmapping of skbs Ivo van Doorn
0 siblings, 1 reply; 6+ messages in thread
From: Ivo van Doorn @ 2010-10-09 11:33 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-wireless, users
From: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2x00link.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2x00link.c b/drivers/net/wireless/rt2x00/rt2x00link.c
index 4d534e9..46836f8 100644
--- a/drivers/net/wireless/rt2x00/rt2x00link.c
+++ b/drivers/net/wireless/rt2x00/rt2x00link.c
@@ -236,6 +236,12 @@ void rt2x00link_update_stats(struct rt2x00_dev *rt2x00dev,
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
/*
+ * No need to update the stats for !=STA interfaces
+ */
+ if (!rt2x00dev->intf_sta_count)
+ return;
+
+ /*
* Frame was received successfully since non-succesfull
* frames would have been dropped by the hardware.
*/
--
1.7.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 02/06] rt2x00: Optimize unmapping of skbs
2010-10-09 11:33 [PATCH 01/06] rt2x00: Shortcut link state updates when not operating as STA Ivo van Doorn
@ 2010-10-09 11:33 ` Ivo van Doorn
2010-10-09 11:34 ` [PATCH 03/06] rt2x00: Use proper type for rxwi_w2 in rt2800_agc_to_rssi Ivo van Doorn
0 siblings, 1 reply; 6+ messages in thread
From: Ivo van Doorn @ 2010-10-09 11:33 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-wireless, users
From: Helmut Schaa <helmut.schaa@googlemail.com>
Since no skb will be mapped for RX and TX at the same time we can
simply shortcut the check for SKBDESC_DMA_MAPPED_TX.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c
index 6d41599..4436ff7 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c
@@ -115,9 +115,7 @@ void rt2x00queue_unmap_skb(struct rt2x00_dev *rt2x00dev, struct sk_buff *skb)
dma_unmap_single(rt2x00dev->dev, skbdesc->skb_dma, skb->len,
DMA_FROM_DEVICE);
skbdesc->flags &= ~SKBDESC_DMA_MAPPED_RX;
- }
-
- if (skbdesc->flags & SKBDESC_DMA_MAPPED_TX) {
+ } else if (skbdesc->flags & SKBDESC_DMA_MAPPED_TX) {
dma_unmap_single(rt2x00dev->dev, skbdesc->skb_dma, skb->len,
DMA_TO_DEVICE);
skbdesc->flags &= ~SKBDESC_DMA_MAPPED_TX;
--
1.7.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 03/06] rt2x00: Use proper type for rxwi_w2 in rt2800_agc_to_rssi
2010-10-09 11:33 ` [PATCH 02/06] rt2x00: Optimize unmapping of skbs Ivo van Doorn
@ 2010-10-09 11:34 ` Ivo van Doorn
2010-10-09 11:34 ` [PATCH 04/06] rt2x00: Use unlikely for error case in rt2x00queue_write_tx_frame Ivo van Doorn
0 siblings, 1 reply; 6+ messages in thread
From: Ivo van Doorn @ 2010-10-09 11:34 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-wireless, users
From: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800lib.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 7f040b0..b9433fe 100644
--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -499,7 +499,7 @@ void rt2800_write_tx_data(struct queue_entry *entry,
}
EXPORT_SYMBOL_GPL(rt2800_write_tx_data);
-static int rt2800_agc_to_rssi(struct rt2x00_dev *rt2x00dev, int rxwi_w2)
+static int rt2800_agc_to_rssi(struct rt2x00_dev *rt2x00dev, u32 rxwi_w2)
{
int rssi0 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI0);
int rssi1 = rt2x00_get_field32(rxwi_w2, RXWI_W2_RSSI1);
--
1.7.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 04/06] rt2x00: Use unlikely for error case in rt2x00queue_write_tx_frame
2010-10-09 11:34 ` [PATCH 03/06] rt2x00: Use proper type for rxwi_w2 in rt2800_agc_to_rssi Ivo van Doorn
@ 2010-10-09 11:34 ` Ivo van Doorn
2010-10-09 11:35 ` [PATCH 05/06] rt2x00: Remove superfluous initialization of qidx Ivo van Doorn
0 siblings, 1 reply; 6+ messages in thread
From: Ivo van Doorn @ 2010-10-09 11:34 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-wireless, users
From: Helmut Schaa <helmut.schaa@googlemail.com>
This is an error condition that is not supposed to happen. Hence, it is
safe to add unlikely to this check.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2x00queue.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c
index 4436ff7..83630f1 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c
@@ -489,7 +489,8 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb,
if (unlikely(rt2x00queue_full(queue)))
return -ENOBUFS;
- if (test_and_set_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags)) {
+ if (unlikely(test_and_set_bit(ENTRY_OWNER_DEVICE_DATA,
+ &entry->flags))) {
ERROR(queue->rt2x00dev,
"Arrived at non-free entry in the non-full queue %d.\n"
"Please file bug report to %s.\n",
--
1.7.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 05/06] rt2x00: Remove superfluous initialization of qidx
2010-10-09 11:34 ` [PATCH 04/06] rt2x00: Use unlikely for error case in rt2x00queue_write_tx_frame Ivo van Doorn
@ 2010-10-09 11:35 ` Ivo van Doorn
2010-10-09 11:35 ` [PATCH 06/06] rt2x00: Fix tx status handling in rt2800pci Ivo van Doorn
0 siblings, 1 reply; 6+ messages in thread
From: Ivo van Doorn @ 2010-10-09 11:35 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-wireless, users
From: Helmut Schaa <helmut.schaa@googlemail.com>
There is no need to initialize qidx to zero as it will ever be
overwritten by the correct value.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800pci.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index 85a134c..cc4e17c 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -573,7 +573,7 @@ static void rt2800pci_kick_tx_queue(struct data_queue *queue)
{
struct rt2x00_dev *rt2x00dev = queue->rt2x00dev;
struct queue_entry *entry = rt2x00queue_get_entry(queue, Q_INDEX);
- unsigned int qidx = 0;
+ unsigned int qidx;
if (queue->qid == QID_MGMT)
qidx = 5;
--
1.7.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 06/06] rt2x00: Fix tx status handling in rt2800pci
2010-10-09 11:35 ` [PATCH 05/06] rt2x00: Remove superfluous initialization of qidx Ivo van Doorn
@ 2010-10-09 11:35 ` Ivo van Doorn
0 siblings, 0 replies; 6+ messages in thread
From: Ivo van Doorn @ 2010-10-09 11:35 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-wireless, users
From: Helmut Schaa <helmut.schaa@googlemail.com>
The patches "rt2x00: Improve TX status entry validation" and "rt2x00: rework tx
status handling in rt2800pci" together were causing problems with tx status
processing in rt2800pci:
phy1 -> rt2800pci_txdone: Warning - Got TX status for an empty queue 3, dropping
phy1 -> rt2800pci_txdone: Warning - Got TX status for an unavailable queue 7, dropping
Fix this by using the correct field definition for getting the QID out of the
tx status report.
Reported-by: Luis Correia <luis.f.correia@gmail.com>
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Tested-by: Luis Correia <luis.f.correia@gmail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
---
drivers/net/wireless/rt2x00/rt2800pci.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
index cc4e17c..b267395 100644
--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -676,7 +676,7 @@ static void rt2800pci_txdone(struct rt2x00_dev *rt2x00dev)
break;
}
- qid = rt2x00_get_field32(status, TX_STA_FIFO_PID_TYPE) - 1;
+ qid = rt2x00_get_field32(status, TX_STA_FIFO_PID_QUEUE);
if (qid >= QID_RX) {
/*
* Unknown queue, this shouldn't happen. Just drop
--
1.7.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-10-09 11:36 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-09 11:33 [PATCH 01/06] rt2x00: Shortcut link state updates when not operating as STA Ivo van Doorn
2010-10-09 11:33 ` [PATCH 02/06] rt2x00: Optimize unmapping of skbs Ivo van Doorn
2010-10-09 11:34 ` [PATCH 03/06] rt2x00: Use proper type for rxwi_w2 in rt2800_agc_to_rssi Ivo van Doorn
2010-10-09 11:34 ` [PATCH 04/06] rt2x00: Use unlikely for error case in rt2x00queue_write_tx_frame Ivo van Doorn
2010-10-09 11:35 ` [PATCH 05/06] rt2x00: Remove superfluous initialization of qidx Ivo van Doorn
2010-10-09 11:35 ` [PATCH 06/06] rt2x00: Fix tx status handling in rt2800pci Ivo van Doorn
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.