mirror of
https://github.com/torvalds/linux.git
synced 2026-03-14 02:06:15 +01:00
wifi: mac80211: fix non-transmitted BSSID profile search
When the non-transmitted BSSID profile is found, immediately return
from the search to not return the wrong profile_len when the profile
is found in a multiple BSSID element that isn't the last one in the
frame.
Fixes: 5023b14cf4 ("mac80211: support profile split between elements")
Reported-by: Michael-CY Lee <michael-cy.lee@mediatek.com>
Link: https://patch.msgid.link/20250630154501.f26cd45a0ecd.I28e0525d06e8a99e555707301bca29265cf20dc8@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
8af596e8ae
commit
e1e6ebf490
1 changed files with 2 additions and 4 deletions
|
|
@ -758,7 +758,6 @@ static size_t ieee802_11_find_bssid_profile(const u8 *start, size_t len,
|
|||
{
|
||||
const struct element *elem, *sub;
|
||||
size_t profile_len = 0;
|
||||
bool found = false;
|
||||
|
||||
if (!bss || !bss->transmitted_bss)
|
||||
return profile_len;
|
||||
|
|
@ -809,15 +808,14 @@ static size_t ieee802_11_find_bssid_profile(const u8 *start, size_t len,
|
|||
index[2],
|
||||
new_bssid);
|
||||
if (ether_addr_equal(new_bssid, bss->bssid)) {
|
||||
found = true;
|
||||
elems->bssid_index_len = index[1];
|
||||
elems->bssid_index = (void *)&index[2];
|
||||
break;
|
||||
return profile_len;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return found ? profile_len : 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue