qcacmn: Allocate multi page memory for dp_rx_desc_pool_alloc

Allocate memory in multiple smaller chunks for dp_rx_desc_pool_alloc,
and link the pages instead of allocating one big contiguous memory to
avoid memory allocation failures.

Change-Id: Id81de10727555c4ca78963a6f01ed3b992ce9924
CRs-Fixed: 2443999
このコミットが含まれているのは:
Varun Reddy Yeturu
2019-05-16 14:03:46 -07:00
committed by nshrivas
コミット a7c21dc7f3
9個のファイルの変更366行の追加65行の削除

ファイルの表示

@@ -3783,15 +3783,15 @@ static void dp_pdev_detach(struct cdp_pdev *txrx_pdev, int force)
mac_for_pdev = dp_get_mac_id_for_pdev(mac_id,
pdev->pdev_id);
rx_desc_pool = &soc->rx_desc_status[mac_for_pdev];
dp_rx_desc_free_array(soc, rx_desc_pool);
dp_rx_desc_pool_free(soc, rx_desc_pool);
rx_desc_pool = &soc->rx_desc_mon[mac_for_pdev];
dp_rx_desc_free_array(soc, rx_desc_pool);
dp_rx_desc_pool_free(soc, rx_desc_pool);
}
}
if (dp_is_soc_reinit(soc)) {
rx_desc_pool = &soc->rx_desc_buf[pdev->pdev_id];
dp_rx_desc_free_array(soc, rx_desc_pool);
dp_rx_desc_pool_free(soc, rx_desc_pool);
}
soc->pdev_list[pdev->pdev_id] = NULL;