forked from Minki/linux
staging: rtl8723bs: Fix incorrect sense of ether_addr_equal
In commitb37f9e1c38
("staging: rtl8723bs: Fix lines too long in update_recvframe_attrib()."), the refactoring involved replacing two memcmp() calls with ether_addr_equal() calls. What the author missed is that memcmp() returns false when the two strings are equal, whereas ether_addr_equal() returns true when the two addresses are equal. One side effect of this error is that the strength of an unassociated AP was much stronger than the same AP after association. This bug is reported at bko#201611. Fixes:b37f9e1c38
("staging: rtl8723bs: Fix lines too long in update_recvframe_attrib().") Cc: Stable <stable@vger.kernel.org> Cc: youling257 <youling257@gmail.com> Cc: u.srikant.patnaik@gmail.com Reported-and-tested-by: youling257 <youling257@gmail.com> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
354e379684
commit
c948c6915b
@ -109,12 +109,12 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe,
|
||||
rx_bssid = get_hdr_bssid(wlanhdr);
|
||||
pkt_info.bssid_match = ((!IsFrameTypeCtrl(wlanhdr)) &&
|
||||
!pattrib->icv_err && !pattrib->crc_err &&
|
||||
!ether_addr_equal(rx_bssid, my_bssid));
|
||||
ether_addr_equal(rx_bssid, my_bssid));
|
||||
|
||||
rx_ra = get_ra(wlanhdr);
|
||||
my_hwaddr = myid(&padapter->eeprompriv);
|
||||
pkt_info.to_self = pkt_info.bssid_match &&
|
||||
!ether_addr_equal(rx_ra, my_hwaddr);
|
||||
ether_addr_equal(rx_ra, my_hwaddr);
|
||||
|
||||
|
||||
pkt_info.is_beacon = pkt_info.bssid_match &&
|
||||
|
Loading…
Reference in New Issue
Block a user