This is a note to let you know that I've just added the patch titled
b43: allocate receive buffers big enough for max frame len + offset
to the 2.6.38-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
b43-allocate-receive-buffers-big-enough-for-max-frame-len-offset.patch
and it can be found in the queue-2.6.38 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From c85ce65ecac078ab1a1835c87c4a6319cf74660a Mon Sep 17 00:00:00 2001
From: John W. Linville <[email protected]>
Date: Wed, 30 Mar 2011 14:02:46 -0400
Subject: b43: allocate receive buffers big enough for max frame len + offset
From: John W. Linville <[email protected]>
commit c85ce65ecac078ab1a1835c87c4a6319cf74660a upstream.
Otherwise, skb_put inside of dma_rx can fail...
https://bugzilla.kernel.org/show_bug.cgi?id=32042
Signed-off-by: John W. Linville <[email protected]>
Acked-by: Larry Finger <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/net/wireless/b43/dma.c | 2 +-
drivers/net/wireless/b43/dma.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/net/wireless/b43/dma.c
+++ b/drivers/net/wireless/b43/dma.c
@@ -1536,7 +1536,7 @@ static void dma_rx(struct b43_dmaring *r
dmaaddr = meta->dmaaddr;
goto drop_recycle_buffer;
}
- if (unlikely(len > ring->rx_buffersize)) {
+ if (unlikely(len + ring->frameoffset > ring->rx_buffersize)) {
/* The data did not fit into one descriptor buffer
* and is split over multiple buffers.
* This should never happen, as we try to allocate buffers
--- a/drivers/net/wireless/b43/dma.h
+++ b/drivers/net/wireless/b43/dma.h
@@ -163,7 +163,7 @@ struct b43_dmadesc_generic {
/* DMA engine tuning knobs */
#define B43_TXRING_SLOTS 256
#define B43_RXRING_SLOTS 64
-#define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN
+#define B43_DMA0_RX_BUFFERSIZE (B43_DMA0_RX_FRAMEOFFSET +
IEEE80211_MAX_FRAME_LEN)
/* Pointer poison */
#define B43_DMA_PTR_POISON ((void *)ERR_PTR(-ENOMEM))
Patches currently in stable-queue which might be from [email protected] are
queue-2.6.38/ath9k-fix-kernel-panic-in-ar2427.patch
queue-2.6.38/p54usb-ids-for-two-new-devices.patch
queue-2.6.38/mac80211-fix-a-crash-in-minstrel_ht-in-ht-mode-with-no-supported-mcs-rates.patch
queue-2.6.38/rt2x00-fix-cancelling-uninitialized-work.patch
queue-2.6.38/mac80211-initialize-sta-last_rx-in-sta_info_alloc.patch
queue-2.6.38/iwlwifi-accept-eeprom-version-0x423-for-iwl6000.patch
queue-2.6.38/b43-allocate-receive-buffers-big-enough-for-max-frame-len-offset.patch
queue-2.6.38/ath9k-fix-a-chip-wakeup-related-crash-in-ath9k_start.patch
queue-2.6.38/wl12xx-fix-potential-buffer-overflow-in-testmode-nvs-push.patch
queue-2.6.38/rt2x00-fix-radio-off-hang-issue-for-pcie-interface.patch
_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable