diff options
Diffstat (limited to 'drivers/net/wireless/zd1211rw')
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_mac.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index 0c736735e217..99c508c09e5b 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c | |||
@@ -523,14 +523,17 @@ static int fill_ctrlset(struct zd_mac *mac, | |||
523 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; | 523 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; |
524 | unsigned int frag_len = skb->len + FCS_LEN; | 524 | unsigned int frag_len = skb->len + FCS_LEN; |
525 | unsigned int packet_length; | 525 | unsigned int packet_length; |
526 | struct ieee80211_rate *txrate; | ||
526 | struct zd_ctrlset *cs = (struct zd_ctrlset *) | 527 | struct zd_ctrlset *cs = (struct zd_ctrlset *) |
527 | skb_push(skb, sizeof(struct zd_ctrlset)); | 528 | skb_push(skb, sizeof(struct zd_ctrlset)); |
528 | 529 | ||
529 | ZD_ASSERT(frag_len <= 0xffff); | 530 | ZD_ASSERT(frag_len <= 0xffff); |
530 | 531 | ||
531 | cs->modulation = control->tx_rate->hw_value; | 532 | txrate = ieee80211_get_tx_rate(mac->hw, control); |
533 | |||
534 | cs->modulation = txrate->hw_value; | ||
532 | if (control->flags & IEEE80211_TXCTL_SHORT_PREAMBLE) | 535 | if (control->flags & IEEE80211_TXCTL_SHORT_PREAMBLE) |
533 | cs->modulation = control->tx_rate->hw_value_short; | 536 | cs->modulation = txrate->hw_value_short; |
534 | 537 | ||
535 | cs->tx_length = cpu_to_le16(frag_len); | 538 | cs->tx_length = cpu_to_le16(frag_len); |
536 | 539 | ||