Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 107111
b: refs/heads/master
c: 1f690d7
h: refs/heads/master
i:
  107109: 1b5cbb7
  107107: f031c57
  107103: c01151b
v: v3
  • Loading branch information
Larry Finger authored and John W. Linville committed Jul 29, 2008
1 parent 118a5c8 commit 5439a69
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5422399518e8142198df888aab00acdac251f754
refs/heads/master: 1f690d7b549ef9c7424536475501885dd5b54930
1 change: 1 addition & 0 deletions trunk/drivers/net/wireless/rtl8187.h
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ struct rtl8187_priv {
struct usb_device *udev;
u32 rx_conf;
u16 txpwr_base;
u16 seqno;
u8 asic_rev;
u8 is_rtl8187b;
enum {
Expand Down
15 changes: 15 additions & 0 deletions trunk/drivers/net/wireless/rtl8187_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
{
struct rtl8187_priv *priv = dev->priv;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct ieee80211_hdr *ieee80211hdr = (struct ieee80211_hdr *)skb->data;
unsigned int ep;
void *buf;
struct urb *urb;
Expand Down Expand Up @@ -234,6 +235,20 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
ep = epmap[skb_get_queue_mapping(skb)];
}

/* FIXME: The sequence that follows is needed for this driver to
* work with mac80211 since "mac80211: fix TX sequence numbers".
* As with the temporary code in rt2x00, changes will be needed
* to get proper sequence numbers on beacons. In addition, this
* patch places the sequence number in the hardware state, which
* limits us to a single virtual state.
*/
if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ) {
if (info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT)
priv->seqno += 0x10;
ieee80211hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG);
ieee80211hdr->seq_ctrl |= cpu_to_le16(priv->seqno);
}

info->driver_data[0] = dev;
info->driver_data[1] = urb;

Expand Down

0 comments on commit 5439a69

Please sign in to comment.