|
@@ -743,6 +743,8 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
|
|
|
|
|
|
done:
|
|
|
bufferaddress = (*((dma_addr_t *)skb->cb));
|
|
|
+ if (pci_dma_mapping_error(rtlpci->pdev, bufferaddress))
|
|
|
+ return;
|
|
|
tmp_one = 1;
|
|
|
rtlpriv->cfg->ops->set_desc((u8 *) pdesc, false,
|
|
|
HW_DESC_RXBUFF_ADDR,
|
|
@@ -1115,6 +1117,10 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)
|
|
|
PCI_DMA_FROMDEVICE);
|
|
|
|
|
|
bufferaddress = (*((dma_addr_t *)skb->cb));
|
|
|
+ if (pci_dma_mapping_error(rtlpci->pdev, bufferaddress)) {
|
|
|
+ dev_kfree_skb_any(skb);
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
rtlpriv->cfg->ops->set_desc((u8 *)entry, false,
|
|
|
HW_DESC_RXBUFF_ADDR,
|
|
|
(u8 *)&bufferaddress);
|