diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt73usb.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt73usb.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c index da19a3a91f4..a6419c90077 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.c +++ b/drivers/net/wireless/rt2x00/rt73usb.c | |||
@@ -1331,11 +1331,11 @@ static int rt73usb_get_tx_data_len(struct rt2x00_dev *rt2x00dev, | |||
1331 | * TX data initialization | 1331 | * TX data initialization |
1332 | */ | 1332 | */ |
1333 | static void rt73usb_kick_tx_queue(struct rt2x00_dev *rt2x00dev, | 1333 | static void rt73usb_kick_tx_queue(struct rt2x00_dev *rt2x00dev, |
1334 | const unsigned int queue) | 1334 | const enum data_queue_qid queue) |
1335 | { | 1335 | { |
1336 | u32 reg; | 1336 | u32 reg; |
1337 | 1337 | ||
1338 | if (queue != RT2X00_BCN_QUEUE_BEACON) | 1338 | if (queue != QID_BEACON) |
1339 | return; | 1339 | return; |
1340 | 1340 | ||
1341 | /* | 1341 | /* |
@@ -2001,23 +2001,16 @@ static int rt73usb_beacon_update(struct ieee80211_hw *hw, struct sk_buff *skb, | |||
2001 | rt73usb_register_write(rt2x00dev, TXRX_CSR9, reg); | 2001 | rt73usb_register_write(rt2x00dev, TXRX_CSR9, reg); |
2002 | 2002 | ||
2003 | /* | 2003 | /* |
2004 | * mac80211 doesn't provide the control->queue variable | ||
2005 | * for beacons. Set our own queue identification so | ||
2006 | * it can be used during descriptor initialization. | ||
2007 | */ | ||
2008 | control->queue = RT2X00_BCN_QUEUE_BEACON; | ||
2009 | rt2x00lib_write_tx_desc(rt2x00dev, skb, control); | ||
2010 | |||
2011 | /* | ||
2012 | * Write entire beacon with descriptor to register, | 2004 | * Write entire beacon with descriptor to register, |
2013 | * and kick the beacon generator. | 2005 | * and kick the beacon generator. |
2014 | */ | 2006 | */ |
2007 | rt2x00lib_write_tx_desc(rt2x00dev, skb, control); | ||
2015 | beacon_base = HW_BEACON_OFFSET(intf->beacon->entry_idx); | 2008 | beacon_base = HW_BEACON_OFFSET(intf->beacon->entry_idx); |
2016 | timeout = REGISTER_TIMEOUT * (skb->len / sizeof(u32)); | 2009 | timeout = REGISTER_TIMEOUT * (skb->len / sizeof(u32)); |
2017 | rt2x00usb_vendor_request(rt2x00dev, USB_MULTI_WRITE, | 2010 | rt2x00usb_vendor_request(rt2x00dev, USB_MULTI_WRITE, |
2018 | USB_VENDOR_REQUEST_OUT, beacon_base, 0, | 2011 | USB_VENDOR_REQUEST_OUT, beacon_base, 0, |
2019 | skb->data, skb->len, timeout); | 2012 | skb->data, skb->len, timeout); |
2020 | rt73usb_kick_tx_queue(rt2x00dev, control->queue); | 2013 | rt73usb_kick_tx_queue(rt2x00dev, QID_BEACON); |
2021 | 2014 | ||
2022 | return 0; | 2015 | return 0; |
2023 | } | 2016 | } |