In bcm43xx-mac80211, the mechanism for decreasing the transmit rate cannot be triggered. This may be shown by walking away from the AP with a laptop. At some distance, communications will be lost and never recovered because the rate decreasing mechanism of rc80211_simple needs to see excessive_retries set in the ieee80211_tx_status struct. With this patch, the transmit rate will decrease until communications restart. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> --- John and Michael, This is based on the wireless-dev tree. Larry bcm43xx_dma.c | 3 +++ 1 file changed, 3 insertions(+) Index: wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_dma.c =================================================================== --- wireless-dev.orig/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_dma.c +++ wireless-dev/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_dma.c @@ -1311,6 +1311,9 @@ void bcm43xx_dma_handle_txstatus(struct */ if (status->acked) meta->txstat.flags |= IEEE80211_TX_STATUS_ACK; + else + if (!(meta->txstat.flags & IEEE80211_TXCTL_NO_ACK)) + meta->txstat.excessive_retries = 1; meta->txstat.retry_count = status->frame_count - 1; ieee80211_tx_status_irqsafe(dev->wl->hw, meta->skb, &(meta->txstat)); /* skb is freed by ieee80211_tx_status_irqsafe() */ - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html