git: b3e7f403a509 - main - LinuxKPI: 802.11 ieee80211_sn_sub() fix

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Mon, 25 Apr 2022 11:38:59 UTC
The branch main has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=b3e7f403a509c1e643ef14d95562f5d7e329d77e

commit b3e7f403a509c1e643ef14d95562f5d7e329d77e
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-04-25 11:35:57 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-04-25 11:35:57 +0000

    LinuxKPI: 802.11 ieee80211_sn_sub() fix
    
    In ieee80211_sn_sub() we need to shift the mask before applying it.
    This fixes the logic from 978f25e840fe4975f243e6077a764842f0e9d3eb.
    
    Reported by:    J.R. Oldroyd (fbsd opal.com)
    MFC after:      3 days
    Sponsored by:   The FreeBSD Foundation
---
 sys/compat/linuxkpi/common/include/net/mac80211.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h
index dcb104947305..b1ce4c2ff2b9 100644
--- a/sys/compat/linuxkpi/common/include/net/mac80211.h
+++ b/sys/compat/linuxkpi/common/include/net/mac80211.h
@@ -1691,7 +1691,8 @@ static __inline uint16_t
 ieee80211_sn_sub(uint16_t sa, uint16_t sb)
 {
 
-	return ((sa - sb) & IEEE80211_SEQ_SEQ_MASK);
+	return ((sa - sb) &
+	    (IEEE80211_SEQ_SEQ_MASK >> IEEE80211_SEQ_SEQ_SHIFT));
 }
 
 static __inline void