qcacmn: Fix assert for flush rx ptk when vdev deleted
When vdev deleted and interface down, there are pending pkts in nbuf queue of dp rx thread in cornel cases, when flush cmd comes, even vdev is not found by vdev id, rx stack callback isn't set to NULL, pkts are still delivered to kernel stack, but rx queue is invalid now, assert will happen when GRO flush happens. Fix by setting rx stack callback as NULL when vdev isn't found by vdev id. Change-Id: Iad3b71dbc86563a4f8b5369474b2a901cdf8b325 CRs-Fixed: 2995694
This commit is contained in:

committed by
Madan Koyyalamudi

parent
7bf43ce817
commit
8008ac5bac
@@ -8215,9 +8215,11 @@ void dp_get_os_rx_handles_from_vdev_wifi3(struct cdp_soc_t *soc_hdl,
|
||||
struct dp_vdev *vdev = dp_vdev_get_ref_by_id(soc, vdev_id,
|
||||
DP_MOD_ID_CDP);
|
||||
|
||||
if (!vdev)
|
||||
if (qdf_unlikely(!vdev)) {
|
||||
*stack_fn_p = NULL;
|
||||
*osif_vdev_p = NULL;
|
||||
return;
|
||||
|
||||
}
|
||||
*stack_fn_p = vdev->osif_rx_stack;
|
||||
*osif_vdev_p = vdev->osif_vdev;
|
||||
dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_CDP);
|
||||
|
Reference in New Issue
Block a user