The names "intermediate" and "ampdu" are swapped.
My fault, sorry.
The subject should say:
RFT: bcm43xx: Ignore ampdu status reports
The description:
If bcm43xx were to process an ampdu status response, a kernel oops is likely.
The
patch also properly names the intermediate status response.
But that's only cosmetical. Please test this patch anyway.
On Monday 05 February 2007 17:15, Larry Finger wrote:
> Please test the following patch. If an intermediate status report were
> delivered, it is likely that
> the kernel would oops. As I have not received any reports of this happening,
> it probably doesn't
> happen and this patch is benign. If testing does not reveal any problems,
> this patch will be
> sent to wireless-2.6 and -stable.
>
> Larry
>
> =======================
>
>
> From: Michael Buesch <[EMAIL PROTECTED]>
>
> If bcm43xx were to process an intermediate status status response, a kernel
> oops is likely. The
> patch also properly names the afterburner (ampdu) status response.
>
> Signed-off-by: Michael Buesch <[EMAIL PROTECTED]>
> Signed-off-by: Larry Finger <[EMAIL PROTECTED]>
> ---
>
> Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c
> ===================================================================
> --- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_main.c
> 2007-01-28 15:33:39.000000000 +0100
> +++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c 2007-02-05
> 13:46:38.000000000 +0100
> @@ -1453,12 +1453,10 @@ static void handle_irq_transmit_status(s
>
> bcm43xx_debugfs_log_txstat(bcm, &stat);
>
> - if (stat.flags & BCM43xx_TXSTAT_FLAG_IGNORE)
> + if (stat.flags & BCM43xx_TXSTAT_FLAG_AMPDU)
> + continue;
> + if (stat.flags & BCM43xx_TXSTAT_FLAG_INTER)
> continue;
> - if (!(stat.flags & BCM43xx_TXSTAT_FLAG_ACK)) {
> - //TODO: packet was not acked (was lost)
> - }
> - //TODO: There are more (unknown) flags to test. see
> bcm43xx_main.h
>
> if (bcm43xx_using_pio(bcm))
> bcm43xx_pio_handle_xmitstatus(bcm, &stat);
> Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_xmit.h
> ===================================================================
> --- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_xmit.h
> 2007-01-28 13:59:51.000000000 +0100
> +++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_xmit.h 2007-02-05
> 14:22:18.000000000 +0100
> @@ -137,14 +137,8 @@ struct bcm43xx_xmitstatus {
> u16 unknown; //FIXME
> };
>
> -#define BCM43xx_TXSTAT_FLAG_ACK 0x01
> -//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x02
> -//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x04
> -//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x08
> -//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x10
> -#define BCM43xx_TXSTAT_FLAG_IGNORE 0x20
> -//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x40
> -//TODO #define BCM43xx_TXSTAT_FLAG_??? 0x80
> +#define BCM43xx_TXSTAT_FLAG_AMPDU 0x10
> +#define BCM43xx_TXSTAT_FLAG_INTER 0x20
>
> u8 bcm43xx_plcp_get_ratecode_cck(const u8 bitrate);
> u8 bcm43xx_plcp_get_ratecode_ofdm(const u8 bitrate);
>
> ==========
>
>
>
> _______________________________________________
> Bcm43xx-dev mailing list
> [email protected]
> https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
>
>
--
Greetings Michael.
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev