diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00queue.c')
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00queue.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c index a0bd36fc4d2e..e22029fcf411 100644 --- a/drivers/net/wireless/rt2x00/rt2x00queue.c +++ b/drivers/net/wireless/rt2x00/rt2x00queue.c | |||
| @@ -334,12 +334,10 @@ static void rt2x00queue_create_tx_descriptor(struct queue_entry *entry, | |||
| 334 | txdesc->aifs = entry->queue->aifs; | 334 | txdesc->aifs = entry->queue->aifs; |
| 335 | 335 | ||
| 336 | /* | 336 | /* |
| 337 | * Header and alignment information. | 337 | * Header and frame information. |
| 338 | */ | 338 | */ |
| 339 | txdesc->length = entry->skb->len; | ||
| 339 | txdesc->header_length = ieee80211_get_hdrlen_from_skb(entry->skb); | 340 | txdesc->header_length = ieee80211_get_hdrlen_from_skb(entry->skb); |
| 340 | if (test_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags) && | ||
| 341 | (entry->skb->len > txdesc->header_length)) | ||
| 342 | txdesc->l2pad = L2PAD_SIZE(txdesc->header_length); | ||
| 343 | 341 | ||
| 344 | /* | 342 | /* |
| 345 | * Check whether this frame is to be acked. | 343 | * Check whether this frame is to be acked. |
| @@ -526,7 +524,8 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb, | |||
| 526 | * call failed. Since we always return NETDEV_TX_OK to mac80211, | 524 | * call failed. Since we always return NETDEV_TX_OK to mac80211, |
| 527 | * this frame will simply be dropped. | 525 | * this frame will simply be dropped. |
| 528 | */ | 526 | */ |
| 529 | if (unlikely(queue->rt2x00dev->ops->lib->write_tx_data(entry))) { | 527 | if (unlikely(queue->rt2x00dev->ops->lib->write_tx_data(entry, |
| 528 | &txdesc))) { | ||
| 530 | clear_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags); | 529 | clear_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags); |
| 531 | entry->skb = NULL; | 530 | entry->skb = NULL; |
| 532 | return -EIO; | 531 | return -EIO; |
