|
@@ -619,6 +619,13 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
|
|
|
struct sk_buff *uskb = NULL;
|
|
|
u8 *pdata;
|
|
|
uskb = dev_alloc_skb(skb->len + 128);
|
|
|
+ if (!uskb) {
|
|
|
+ RT_TRACE(rtlpriv,
|
|
|
+ (COMP_INTR | COMP_RECV),
|
|
|
+ DBG_EMERG,
|
|
|
+ ("can't alloc rx skb\n"));
|
|
|
+ goto done;
|
|
|
+ }
|
|
|
memcpy(IEEE80211_SKB_RXCB(uskb),
|
|
|
&rx_status,
|
|
|
sizeof(rx_status));
|
|
@@ -641,7 +648,7 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
|
|
|
new_skb = dev_alloc_skb(rtlpci->rxbuffersize);
|
|
|
if (unlikely(!new_skb)) {
|
|
|
RT_TRACE(rtlpriv, (COMP_INTR | COMP_RECV),
|
|
|
- DBG_DMESG,
|
|
|
+ DBG_EMERG,
|
|
|
("can't alloc skb for rx\n"));
|
|
|
goto done;
|
|
|
}
|
|
@@ -1066,9 +1073,9 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)
|
|
|
struct sk_buff *skb =
|
|
|
dev_alloc_skb(rtlpci->rxbuffersize);
|
|
|
u32 bufferaddress;
|
|
|
- entry = &rtlpci->rx_ring[rx_queue_idx].desc[i];
|
|
|
if (!skb)
|
|
|
return 0;
|
|
|
+ entry = &rtlpci->rx_ring[rx_queue_idx].desc[i];
|
|
|
|
|
|
/*skb->dev = dev; */
|
|
|
|