aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00dev.c
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2010-12-13 06:36:00 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-13 15:23:36 -0500
commit64e7d72384c2ecef5a892b2243623af265dd83cc (patch)
treebb53909aa80bea1a42a25fe7899087419579f130 /drivers/net/wireless/rt2x00/rt2x00dev.c
parent5be65609fec2e331c7d804471be3d59089a30d98 (diff)
rt2x00: Cleanup RX index counting
Add the rt2x00_dmastart function to rt2x00lib which marks the queue_entry as "owned by device", and increased the Q_INDEX number. This cleanups up the index handling by rt2x00lib which at until so far used hackish approaches to keep the RX queue index numbering sane. The rt2x00pci.c changes are from Helmut Schaa Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index 9ef5a246821..3d4c61fcf06 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -226,6 +226,13 @@ void rt2x00lib_pretbtt(struct rt2x00_dev *rt2x00dev)
226} 226}
227EXPORT_SYMBOL_GPL(rt2x00lib_pretbtt); 227EXPORT_SYMBOL_GPL(rt2x00lib_pretbtt);
228 228
229void rt2x00lib_dmastart(struct queue_entry *entry)
230{
231 set_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags);
232 rt2x00queue_index_inc(entry->queue, Q_INDEX);
233}
234EXPORT_SYMBOL_GPL(rt2x00lib_dmastart);
235
229void rt2x00lib_dmadone(struct queue_entry *entry) 236void rt2x00lib_dmadone(struct queue_entry *entry)
230{ 237{
231 clear_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags); 238 clear_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags);
@@ -555,10 +562,8 @@ submit_entry:
555 entry->flags = 0; 562 entry->flags = 0;
556 rt2x00queue_index_inc(entry->queue, Q_INDEX_DONE); 563 rt2x00queue_index_inc(entry->queue, Q_INDEX_DONE);
557 if (test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags) && 564 if (test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags) &&
558 test_bit(DEVICE_STATE_ENABLED_RADIO, &rt2x00dev->flags)) { 565 test_bit(DEVICE_STATE_ENABLED_RADIO, &rt2x00dev->flags))
559 rt2x00dev->ops->lib->clear_entry(entry); 566 rt2x00dev->ops->lib->clear_entry(entry);
560 rt2x00queue_index_inc(entry->queue, Q_INDEX);
561 }
562} 567}
563EXPORT_SYMBOL_GPL(rt2x00lib_rxdone); 568EXPORT_SYMBOL_GPL(rt2x00lib_rxdone);
564 569