Thanks, I fixed that and queued it up ;)
http://bu3sch.de/patches/wireless-dev/20070803-1186092135/patches/bcm43xx-mac80211-provide-information-to-allow-transmission-rate-decreases.patch

On Thursday 02 August 2007, Larry Finger wrote:
> 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 <[EMAIL PROTECTED]>
> ---
> 
> 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() */
> 
> 


_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to