qcacld-3.0: Get DP interface by netdev

Currently while attaching vdev to DP interface
we are searching DP interface based on the Adapter
MAC address, but if STA MLD and Link address is
same, we were getting the Link Interface instead of
MLD interface, which was causing the EAPOL packet to drop.

To Fix the issue, instead of searching for DP interface
based on MAC address, use netdev to search DP interface.

Change-Id: I50c7974c053717b496fab0eeb89774af382b4313
CRs-Fixed: 3258684
This commit is contained in:
Amit Mehta
2022-08-01 04:29:00 -07:00
committed by Madan Koyyalamudi
parent aba7313b9b
commit eea57c0196
4 changed files with 49 additions and 31 deletions

View File

@@ -562,8 +562,8 @@ union wlan_tp_data {
/**
* struct wlan_dp_psoc_callbacks - struct containing callback
* to non-converged driver
* @os_if_dp_gro_rx: OS IF Callback to handle GRO packet to n/w stack
* @callback_ctx : Opaque callback context
* @dp_get_netdev_by_vdev_mac: Callback to get netdev from vdev mac address
* @wlan_dp_sta_get_dot11mode: Callback to get dot11 mode
* @wlan_dp_get_ap_client_count: Callback to get client count connected to AP
* @wlan_dp_sta_ndi_connected: Callback to get NDI connected status
@@ -591,8 +591,7 @@ union wlan_tp_data {
struct wlan_dp_psoc_callbacks {
hdd_cb_handle callback_ctx;
QDF_STATUS (*dp_get_nw_intf_mac_by_vdev_mac)(struct qdf_mac_addr *mac_addr,
struct qdf_mac_addr *intf_mac);
qdf_netdev_t (*dp_get_netdev_by_vdev_mac)(struct qdf_mac_addr *mac_addr);
unsigned int (*dp_get_tx_flow_low_watermark)(hdd_cb_handle cb_ctx,
uint8_t intf_id);
void (*dp_get_tx_resource)(uint8_t intf_id, struct qdf_mac_addr *mac_addr);