mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 21:59:12 -04:00
Merge "msm: ipa: Fix to free up all pending EOB pages"
This commit is contained in:
commit
7db2d04afd
1 changed files with 14 additions and 10 deletions
|
|
@ -3658,17 +3658,21 @@ static struct sk_buff *handle_page_completion(struct gsi_chan_xfer_notify
|
|||
sys->ep->client == IPA_CLIENT_APPS_LAN_CONS) {
|
||||
rx_skb = alloc_skb(0, GFP_ATOMIC);
|
||||
if (unlikely(!rx_skb)) {
|
||||
IPAERR("skb alloc failure\n");
|
||||
list_del(&rx_pkt->link);
|
||||
if (!rx_page.is_tmp_alloc) {
|
||||
init_page_count(rx_page.page);
|
||||
} else {
|
||||
dma_unmap_page(ipa3_ctx->pdev, rx_page.dma_addr,
|
||||
rx_pkt->len, DMA_FROM_DEVICE);
|
||||
__free_pages(rx_pkt->page_data.page,
|
||||
IPA_WAN_PAGE_ORDER);
|
||||
IPAERR("skb alloc failure, free all pending pages\n");
|
||||
list_for_each_entry_safe(rx_pkt, tmp, head, link) {
|
||||
rx_page = rx_pkt->page_data;
|
||||
size = rx_pkt->data_len;
|
||||
list_del_init(&rx_pkt->link);
|
||||
if (!rx_page.is_tmp_alloc) {
|
||||
init_page_count(rx_page.page);
|
||||
} else {
|
||||
dma_unmap_page(ipa3_ctx->pdev, rx_page.dma_addr,
|
||||
rx_pkt->len, DMA_FROM_DEVICE);
|
||||
__free_pages(rx_pkt->page_data.page,
|
||||
IPA_WAN_PAGE_ORDER);
|
||||
}
|
||||
rx_pkt->sys->free_rx_wrapper(rx_pkt);
|
||||
}
|
||||
rx_pkt->sys->free_rx_wrapper(rx_pkt);
|
||||
IPA_STATS_INC_CNT(ipa3_ctx->stats.rx_page_drop_cnt);
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue