From: Chaoming Li <chaoming_li@xxxxxxxxxxxxxx> An RX buffer is set to 9100 bytes to receive 8K AMSDU; however, an skb of this size fails in the kernel. Signed-off-by: Chaoming Li <chaoming_li@xxxxxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> --- John, This fix should be in 2.6.38. Larry --- Index: wireless-testing/drivers/net/wireless/rtlwifi/pci.c =================================================================== --- wireless-testing.orig/drivers/net/wireless/rtlwifi/pci.c +++ wireless-testing/drivers/net/wireless/rtlwifi/pci.c @@ -612,10 +612,22 @@ static void _rtl_pci_rx_interrupt(struct num_rx_inperiod++; } - if (unlikely(!rtl_action_proc(hw, skb, false))) + if (unlikely(!rtl_action_proc(hw, skb, + false))) { dev_kfree_skb_any(skb); - else - ieee80211_rx_irqsafe(hw, skb); + } else { + struct sk_buff *uskb = NULL; + u8 *pdata; + uskb = dev_alloc_skb(skb->len + 128); + memcpy(IEEE80211_SKB_RXCB(uskb), + &rx_status, + sizeof(rx_status)); + pdata = (u8 *)skb_put(uskb, skb->len); + memcpy(pdata, skb->data, skb->len); + dev_kfree_skb_any(skb); + + ieee80211_rx_irqsafe(hw, uskb); + } } else { dev_kfree_skb_any(skb); } -- 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