Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 194117
b: refs/heads/master
c: 31627dc
h: refs/heads/master
i:
  194115: 7ec37a5
v: v3
  • Loading branch information
Juuso Oikarinen authored and John W. Linville committed Mar 31, 2010
1 parent 419d706 commit 5e3d4d8
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f876bb9aafc71d8ea395eec99666faaffec5df49
refs/heads/master: 31627dc59b4a87c4198b4245a7de1b8ccf4424fa
1 change: 1 addition & 0 deletions trunk/drivers/net/wireless/wl12xx/wl1271_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2127,6 +2127,7 @@ int wl1271_init_ieee80211(struct wl1271 *wl)
wl->hw->wiphy->bands[IEEE80211_BAND_5GHZ] = &wl1271_band_5ghz;

wl->hw->queues = 4;
wl->hw->max_rates = 1;

SET_IEEE80211_DEV(wl->hw, wl1271_wl_to_dev(wl));

Expand Down
27 changes: 15 additions & 12 deletions trunk/drivers/net/wireless/wl12xx/wl1271_tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,8 @@ static void wl1271_tx_complete_packet(struct wl1271 *wl,
struct ieee80211_tx_info *info;
struct sk_buff *skb;
int id = result->id;
int rate = -1;
u8 retries = 0;

/* check for id legality */
if (unlikely(id >= ACX_TX_DESCRIPTORS || wl->tx_frames[id] == NULL)) {
Expand All @@ -314,19 +316,22 @@ static void wl1271_tx_complete_packet(struct wl1271 *wl,
skb = wl->tx_frames[id];
info = IEEE80211_SKB_CB(skb);

/* update packet status */
if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) {
if (result->status == TX_SUCCESS)
/* update the TX status info */
if (result->status == TX_SUCCESS) {
if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
info->flags |= IEEE80211_TX_STAT_ACK;
if (result->status & TX_RETRY_EXCEEDED) {
/* FIXME */
/* info->status.excessive_retries = 1; */
wl->stats.excessive_retries++;
}
rate = wl1271_rate_to_idx(wl, result->rate_class_index);
retries = result->ack_failures;
} else if (result->status == TX_RETRY_EXCEEDED) {
wl->stats.excessive_retries++;
retries = result->ack_failures;
}

/* FIXME */
/* info->status.retry_count = result->ack_failures; */
info->status.rates[0].idx = rate;
info->status.rates[0].count = retries;
info->status.rates[0].flags = 0;
info->status.ack_signal = -1;

wl->stats.retry_count += result->ack_failures;

/* update security sequence number */
Expand All @@ -350,8 +355,6 @@ static void wl1271_tx_complete_packet(struct wl1271 *wl,
result->id, skb, result->ack_failures,
result->rate_class_index, result->status);

/* FIXME: do we need to tell the stack about the used rate? */

/* return the packet to the stack */
ieee80211_tx_status(wl->hw, skb);
wl->tx_frames[result->id] = NULL;
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/wireless/wl12xx/wl1271_tx.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,5 +159,6 @@ static inline int wl1271_tx_ac_to_tid(int ac)
void wl1271_tx_work(struct work_struct *work);
void wl1271_tx_complete(struct wl1271 *wl);
void wl1271_tx_flush(struct wl1271 *wl);
u8 wl1271_rate_to_idx(struct wl1271 *wl, int rate);

#endif

0 comments on commit 5e3d4d8

Please sign in to comment.