diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00pci.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00pci.c | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c index f9d0d76f8706..adf2876ed8ab 100644 --- a/drivers/net/wireless/rt2x00/rt2x00pci.c +++ b/drivers/net/wireless/rt2x00/rt2x00pci.c | |||
@@ -60,12 +60,8 @@ int rt2x00pci_write_tx_data(struct queue_entry *entry) | |||
60 | * Fill in skb descriptor | 60 | * Fill in skb descriptor |
61 | */ | 61 | */ |
62 | skbdesc = get_skb_frame_desc(entry->skb); | 62 | skbdesc = get_skb_frame_desc(entry->skb); |
63 | memset(skbdesc, 0, sizeof(*skbdesc)); | ||
64 | skbdesc->desc = entry_priv->desc; | 63 | skbdesc->desc = entry_priv->desc; |
65 | skbdesc->desc_len = entry->queue->desc_size; | 64 | skbdesc->desc_len = entry->queue->desc_size; |
66 | skbdesc->entry = entry; | ||
67 | |||
68 | rt2x00queue_map_txskb(entry->queue->rt2x00dev, entry->skb); | ||
69 | 65 | ||
70 | return 0; | 66 | return 0; |
71 | } | 67 | } |
@@ -101,55 +97,10 @@ void rt2x00pci_rxdone(struct rt2x00_dev *rt2x00dev) | |||
101 | * Send the frame to rt2x00lib for further processing. | 97 | * Send the frame to rt2x00lib for further processing. |
102 | */ | 98 | */ |
103 | rt2x00lib_rxdone(rt2x00dev, entry); | 99 | rt2x00lib_rxdone(rt2x00dev, entry); |
104 | |||
105 | /* | ||
106 | * Reset the RXD for this entry. | ||
107 | */ | ||
108 | rt2x00dev->ops->lib->init_rxentry(rt2x00dev, entry); | ||
109 | |||
110 | rt2x00queue_index_inc(queue, Q_INDEX); | ||
111 | } | 100 | } |
112 | } | 101 | } |
113 | EXPORT_SYMBOL_GPL(rt2x00pci_rxdone); | 102 | EXPORT_SYMBOL_GPL(rt2x00pci_rxdone); |
114 | 103 | ||
115 | void rt2x00pci_txdone(struct rt2x00_dev *rt2x00dev, struct queue_entry *entry, | ||
116 | struct txdone_entry_desc *txdesc) | ||
117 | { | ||
118 | struct queue_entry_priv_pci *entry_priv = entry->priv_data; | ||
119 | enum data_queue_qid qid = skb_get_queue_mapping(entry->skb); | ||
120 | u32 word; | ||
121 | |||
122 | /* | ||
123 | * Unmap the skb. | ||
124 | */ | ||
125 | rt2x00queue_unmap_skb(rt2x00dev, entry->skb); | ||
126 | |||
127 | rt2x00lib_txdone(entry, txdesc); | ||
128 | |||
129 | /* | ||
130 | * Make this entry available for reuse. | ||
131 | */ | ||
132 | entry->flags = 0; | ||
133 | |||
134 | rt2x00_desc_read(entry_priv->desc, 0, &word); | ||
135 | rt2x00_set_field32(&word, TXD_ENTRY_OWNER_NIC, 0); | ||
136 | rt2x00_set_field32(&word, TXD_ENTRY_VALID, 0); | ||
137 | rt2x00_desc_write(entry_priv->desc, 0, word); | ||
138 | |||
139 | __clear_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags); | ||
140 | rt2x00queue_index_inc(entry->queue, Q_INDEX_DONE); | ||
141 | |||
142 | /* | ||
143 | * If the data queue was below the threshold before the txdone | ||
144 | * handler we must make sure the packet queue in the mac80211 stack | ||
145 | * is reenabled when the txdone handler has finished. | ||
146 | */ | ||
147 | if (!rt2x00queue_threshold(entry->queue)) | ||
148 | ieee80211_wake_queue(rt2x00dev->hw, qid); | ||
149 | |||
150 | } | ||
151 | EXPORT_SYMBOL_GPL(rt2x00pci_txdone); | ||
152 | |||
153 | /* | 104 | /* |
154 | * Device initialization handlers. | 105 | * Device initialization handlers. |
155 | */ | 106 | */ |