]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: ipw2x00: libipw_rx_any(): fix bad alignment
authorJiapeng Chong <jiapeng.chong@linux.alibaba.com>
Fri, 1 Nov 2024 06:07:25 +0000 (14:07 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:48:29 +0000 (19:48 +0100)
[ Upstream commit 4fa4f049dc0d9741b16c96bcbf0108c85368a2b9 ]

This patch fixes incorrect code alignment.

./drivers/net/wireless/intel/ipw2x00/libipw_rx.c:871:2-3: code aligned with following code on line 882.
./drivers/net/wireless/intel/ipw2x00/libipw_rx.c:886:2-3: code aligned with following code on line 900.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=11381
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20241101060725.54640-1-jiapeng.chong@linux.alibaba.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/ipw2x00/libipw_rx.c

index 5a2a723e480b007813724f8bc54a19e49cfe1af6..4c6e742c56958691c8a4a5af0a296c3bac3b7bf1 100644 (file)
@@ -870,8 +870,8 @@ void libipw_rx_any(struct libipw_device *ieee,
        switch (ieee->iw_mode) {
        case IW_MODE_ADHOC:
                /* our BSS and not from/to DS */
-               if (ether_addr_equal(hdr->addr3, ieee->bssid))
-               if ((fc & (IEEE80211_FCTL_TODS+IEEE80211_FCTL_FROMDS)) == 0) {
+               if (ether_addr_equal(hdr->addr3, ieee->bssid) &&
+                   ((fc & (IEEE80211_FCTL_TODS + IEEE80211_FCTL_FROMDS)) == 0)) {
                        /* promisc: get all */
                        if (ieee->dev->flags & IFF_PROMISC)
                                is_packet_for_us = 1;
@@ -885,8 +885,8 @@ void libipw_rx_any(struct libipw_device *ieee,
                break;
        case IW_MODE_INFRA:
                /* our BSS (== from our AP) and from DS */
-               if (ether_addr_equal(hdr->addr2, ieee->bssid))
-               if ((fc & (IEEE80211_FCTL_TODS+IEEE80211_FCTL_FROMDS)) == IEEE80211_FCTL_FROMDS) {
+               if (ether_addr_equal(hdr->addr2, ieee->bssid) &&
+                   ((fc & (IEEE80211_FCTL_TODS + IEEE80211_FCTL_FROMDS)) == IEEE80211_FCTL_FROMDS)) {
                        /* promisc: get all */
                        if (ieee->dev->flags & IFF_PROMISC)
                                is_packet_for_us = 1;