} else {
bss = bss_find(wt, bssid);
bss_mld = bss_find(wt, src);
- if (bss_mld)
+ if (bss_mld && (!bss || sta_find(bss_mld, src)))
bss = bss_get(wt, src);
else
bss = bss_get(wt, bssid);
} else {
bss = bss_find(wt, bssid);
bss_mld = bss_find(wt, dst);
- if (bss_mld)
+ if (bss_mld && (!bss || sta_find(bss_mld, src)))
bss = bss_get(wt, dst);
else
bss = bss_get(wt, bssid);
} else {
bss = bss_find(wt, bssid);
bss_mld = bss_find(wt, src);
- if (bss_mld)
+ if (bss_mld && (!bss || sta_find(bss_mld, src)))
bss = bss_get(wt, src);
else
bss = bss_get(wt, bssid);
} else {
bss = bss_find(wt, bssid);
bss_mld = bss_find(wt, dst);
- if (bss_mld)
+ if (bss_mld && (!bss || sta_find(bss_mld, src)))
bss = bss_get(wt, dst);
else
bss = bss_get(wt, bssid);
} else {
bss = bss_find(wt, bssid);
bss_mld = bss_find(wt, src);
- if (bss_mld)
+ if (bss_mld && (!bss || sta_find(bss_mld, src)))
bss = bss_get(wt, src);
else
bss = bss_get(wt, bssid);
} else {
bss = bss_find(wt, bssid);
bss_mld = bss_find(wt, dst);
- if (bss_mld)
+ if (bss_mld && (!bss || sta_find(bss_mld, src)))
bss = bss_get(wt, dst);
else
bss = bss_get(wt, bssid);