diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2500usb.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2500usb.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c index 8152fec3175..bbfa671f115 100644 --- a/drivers/net/wireless/rt2x00/rt2500usb.c +++ b/drivers/net/wireless/rt2x00/rt2500usb.c | |||
@@ -1205,8 +1205,16 @@ static int rt2500usb_get_tx_data_len(struct queue_entry *entry) | |||
1205 | 1205 | ||
1206 | static void rt2500usb_kill_tx_queue(struct data_queue *queue) | 1206 | static void rt2500usb_kill_tx_queue(struct data_queue *queue) |
1207 | { | 1207 | { |
1208 | if (queue->qid == QID_BEACON) | 1208 | struct rt2x00_dev *rt2x00dev = queue->rt2x00dev; |
1209 | rt2500usb_register_write(queue->rt2x00dev, TXRX_CSR19, 0); | 1209 | u16 reg; |
1210 | |||
1211 | if (queue->qid == QID_BEACON) { | ||
1212 | rt2500usb_register_read(rt2x00dev, TXRX_CSR19, ®); | ||
1213 | rt2x00_set_field16(®, TXRX_CSR19_TSF_COUNT, 0); | ||
1214 | rt2x00_set_field16(®, TXRX_CSR19_TBCN, 0); | ||
1215 | rt2x00_set_field16(®, TXRX_CSR19_BEACON_GEN, 0); | ||
1216 | rt2500usb_register_write(rt2x00dev, TXRX_CSR19, reg); | ||
1217 | } | ||
1210 | 1218 | ||
1211 | rt2x00usb_kill_tx_queue(queue); | 1219 | rt2x00usb_kill_tx_queue(queue); |
1212 | } | 1220 | } |