aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt61pci.c
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2007-11-12 09:02:40 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:04:40 -0500
commit3957ccb56e17ca839265ccb292c4c6850dcf5d32 (patch)
treebf579438b2f8e0d81160059e16eae97aa1254b77 /drivers/net/wireless/rt2x00/rt61pci.c
parent797a54c68e0eb551c60e3dc843627f967919a951 (diff)
rt2x00: Move duplicate code into rt2x00pci_txdone()
rt2400pci, rt2500pci and rt61 require different txdone handling, but the code that pushes the frame upstream and cleans up the entry is identical to all of them. This will create the function rt2x00pci_txdone() to remove the duplicate code. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt61pci.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt61pci.c19
1 files changed, 1 insertions, 18 deletions
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index 606cf1299fff..40e516b70fed 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -1779,24 +1779,7 @@ static void rt61pci_txdone(struct rt2x00_dev *rt2x00dev)
1779 tx_status = rt2x00_get_field32(reg, STA_CSR4_TX_RESULT); 1779 tx_status = rt2x00_get_field32(reg, STA_CSR4_TX_RESULT);
1780 retry = rt2x00_get_field32(reg, STA_CSR4_RETRY_COUNT); 1780 retry = rt2x00_get_field32(reg, STA_CSR4_RETRY_COUNT);
1781 1781
1782 rt2x00lib_txdone(entry, tx_status, retry); 1782 rt2x00pci_txdone(rt2x00dev, entry, tx_status, retry);
1783
1784 /*
1785 * Make this entry available for reuse.
1786 */
1787 entry->flags = 0;
1788 rt2x00_set_field32(&word, TXD_W0_VALID, 0);
1789 rt2x00_desc_write(txd, 0, word);
1790 rt2x00_ring_index_done_inc(entry->ring);
1791
1792 /*
1793 * If the data ring was full before the txdone handler
1794 * we must make sure the packet queue in the mac80211 stack
1795 * is reenabled when the txdone handler has finished.
1796 */
1797 if (!rt2x00_ring_full(ring))
1798 ieee80211_wake_queue(rt2x00dev->hw,
1799 entry->tx_status.control.queue);
1800 } 1783 }
1801} 1784}
1802 1785