* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).