qcacld-3.0: Give correct initial value of dp_link

When dp_link is allocated, the member variable is
not initialized correctly. Change is to give initial
value to avoid of crash.

Change-Id: I0d032b4a25f31768f2aa5e7161cc625abe867df5
CRs-Fixed: 3797243
Šī revīzija ir iekļauta:
Yu Tian
2024-04-25 21:07:33 -07:00
revīziju iesūtīja Ravindra Konda
vecāks 3317823c27
revīzija fa5001a4b5
3 mainīti faili ar 19 papildinājumiem un 4 dzēšanām

Parādīt failu

@@ -721,9 +721,9 @@ struct wlan_dp_link {
struct wlan_objmgr_vdev *vdev;
qdf_spinlock_t vdev_lock;
struct wlan_dp_conn_info conn_info;
uint8_t destroyed : 1,
cdp_vdev_registered : 1,
cdp_vdev_deleted : 1;
uint8_t destroyed;
uint8_t cdp_vdev_registered;
uint8_t cdp_vdev_deleted;
TAILQ_ENTRY(wlan_dp_link) inactive_list_elem;
};

Parādīt failu

@@ -1202,6 +1202,8 @@ dp_vdev_obj_create_notification(struct wlan_objmgr_vdev *vdev, void *arg)
/* Update Parent interface details */
dp_link->magic = WLAN_DP_LINK_MAGIC;
dp_link->destroyed = 0;
dp_link->cdp_vdev_deleted = 0;
dp_link->dp_intf = dp_intf;
qdf_spin_lock_bh(&dp_intf->dp_link_list_lock);
qdf_list_insert_front(&dp_intf->dp_link_list, &dp_link->node);
@@ -2031,8 +2033,10 @@ void wlan_dp_link_cdp_vdev_delete_notification(void *context)
uint8_t found = 0;
/* dp_link will not be freed before this point. */
if (!dp_link)
if (!dp_link) {
dp_info("dp_link is null");
return;
}
dp_info("dp_link %pK id %d", dp_link, dp_link->link_id);
dp_intf = dp_link->dp_intf;

Parādīt failu

@@ -1213,6 +1213,9 @@ QDF_STATUS ucfg_dp_sta_register_txrx_ops(struct wlan_objmgr_vdev *vdev)
}
dp_link->cdp_vdev_registered = 1;
dp_link->cdp_vdev_deleted = 0;
dp_link->destroyed = 0;
dp_intf->txrx_ops = txrx_ops;
return QDF_STATUS_SUCCESS;
@@ -1267,6 +1270,8 @@ QDF_STATUS ucfg_dp_tdlsta_register_txrx_ops(struct wlan_objmgr_vdev *vdev)
}
dp_link->cdp_vdev_registered = 1;
dp_link->cdp_vdev_deleted = 0;
dp_link->destroyed = 0;
dp_intf->txrx_ops = txrx_ops;
return QDF_STATUS_SUCCESS;
@@ -1301,6 +1306,8 @@ QDF_STATUS ucfg_dp_ocb_register_txrx_ops(struct wlan_objmgr_vdev *vdev)
}
dp_link->cdp_vdev_registered = 1;
dp_link->cdp_vdev_deleted = 0;
dp_link->destroyed = 0;
dp_intf->txrx_ops = txrx_ops;
qdf_copy_macaddr(&dp_link->conn_info.peer_macaddr,
@@ -1333,6 +1340,8 @@ QDF_STATUS ucfg_dp_mon_register_txrx_ops(struct wlan_objmgr_vdev *vdev)
&txrx_ops);
dp_link->cdp_vdev_registered = 1;
dp_link->cdp_vdev_deleted = 0;
dp_link->destroyed = 0;
dp_intf->txrx_ops = txrx_ops;
return QDF_STATUS_SUCCESS;
@@ -1380,6 +1389,8 @@ QDF_STATUS ucfg_dp_softap_register_txrx_ops(struct wlan_objmgr_vdev *vdev,
}
dp_link->cdp_vdev_registered = 1;
dp_link->cdp_vdev_deleted = 0;
dp_link->destroyed = 0;
dp_intf->txrx_ops = *txrx_ops;
dp_intf->sap_tx_block_mask &= ~DP_TX_FN_CLR;