When a value has been tested for NULL in an expression, a
second NULL test on the same value in another expression
is unnecessary when the value has not been assigned NULL.
Remove unnecessary duplicate NULL tests on the same value that
has previously been NULL tested.
Found by Coccinelle
Signed-off-by: Abraham Samuel Adekunle <abrahamadekunle50@gmail.com>
---
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 2 +-
drivers/staging/rtl8723bs/core/rtw_xmit.c | 56 +++++++++----------
2 files changed, 28 insertions(+), 30 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
index 90966b7034ab..675226535cd1 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
@@ -1323,7 +1323,7 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
spin_unlock_bh(&pstapriv->asoc_list_lock);
/* now the station is qualified to join our BSS... */
- if (pstat && (pstat->state & WIFI_FW_ASSOC_SUCCESS) && (status == WLAN_STATUS_SUCCESS)) {
+ if ((pstat->state & WIFI_FW_ASSOC_SUCCESS) && (status == WLAN_STATUS_SUCCESS)) {
/* 1 bss_cap_update & sta_info_update */
bss_cap_update_on_sta_join(padapter, pstat);
sta_info_update(padapter, pstat);
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 026061b464f7..f817cab2f831 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -941,35 +941,33 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
if (!(psta->state & _FW_LINKED))
return _FAIL;
- if (psta) {
- psta->sta_xmitpriv.txseq_tid[pattrib->priority]++;
- psta->sta_xmitpriv.txseq_tid[pattrib->priority] &= 0xFFF;
- pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority];
-
- SetSeqNum(hdr, pattrib->seqnum);
-
- /* check if enable ampdu */
- if (pattrib->ht_en && psta->htpriv.ampdu_enable)
- if (psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority))
- pattrib->ampdu_en = true;
-
- /* re-check if enable ampdu by BA_starting_seqctrl */
- if (pattrib->ampdu_en == true) {
- u16 tx_seq;
-
- tx_seq = psta->BA_starting_seqctrl[pattrib->priority & 0x0f];
-
- /* check BA_starting_seqctrl */
- if (SN_LESS(pattrib->seqnum, tx_seq)) {
- pattrib->ampdu_en = false;/* AGG BK */
- } else if (SN_EQUAL(pattrib->seqnum, tx_seq)) {
- psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq+1)&0xfff;
-
- pattrib->ampdu_en = true;/* AGG EN */
- } else {
- psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum+1)&0xfff;
- pattrib->ampdu_en = true;/* AGG EN */
- }
+ psta->sta_xmitpriv.txseq_tid[pattrib->priority]++;
+ psta->sta_xmitpriv.txseq_tid[pattrib->priority] &= 0xFFF;
+ pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority];
+
+ SetSeqNum(hdr, pattrib->seqnum);
+
+ /* check if enable ampdu */
+ if (pattrib->ht_en && psta->htpriv.ampdu_enable)
+ if (psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority))
+ pattrib->ampdu_en = true;
+
+ /* re-check if enable ampdu by BA_starting_seqctrl */
+ if (pattrib->ampdu_en == true) {
+ u16 tx_seq;
+
+ tx_seq = psta->BA_starting_seqctrl[pattrib->priority & 0x0f];
+
+ /* check BA_starting_seqctrl */
+ if (SN_LESS(pattrib->seqnum, tx_seq)) {
+ pattrib->ampdu_en = false;/* AGG BK */
+ } else if (SN_EQUAL(pattrib->seqnum, tx_seq)) {
+ psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq+1)&0xfff;
+
+ pattrib->ampdu_en = true;/* AGG EN */
+ } else {
+ psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum+1)&0xfff;
+ pattrib->ampdu_en = true;/* AGG EN */
}
}
}
--
2.34.1
On Thu, Apr 03, 2025 at 02:26:43PM +0100, Abraham Samuel Adekunle wrote: > When a value has been tested for NULL in an expression, a > second NULL test on the same value in another expression > is unnecessary when the value has not been assigned NULL. > > Remove unnecessary duplicate NULL tests on the same value that > has previously been NULL tested. > > Found by Coccinelle Missing period. ... > + psta->sta_xmitpriv.txseq_tid[pattrib->priority]++; > + psta->sta_xmitpriv.txseq_tid[pattrib->priority] &= 0xFFF; > + pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority]; > + > + SetSeqNum(hdr, pattrib->seqnum); > + > + /* check if enable ampdu */ > + if (pattrib->ht_en && psta->htpriv.ampdu_enable) > + if (psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority)) > + pattrib->ampdu_en = true; > + > + /* re-check if enable ampdu by BA_starting_seqctrl */ > + if (pattrib->ampdu_en == true) { > + u16 tx_seq; > + > + tx_seq = psta->BA_starting_seqctrl[pattrib->priority & 0x0f]; > + > + /* check BA_starting_seqctrl */ > + if (SN_LESS(pattrib->seqnum, tx_seq)) { > + pattrib->ampdu_en = false;/* AGG BK */ > + } else if (SN_EQUAL(pattrib->seqnum, tx_seq)) { > + psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq+1)&0xfff; While at it, make this more readable: psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq + 1) & 0xfff; > + pattrib->ampdu_en = true;/* AGG EN */ > + } else { > + psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum+1)&0xfff; Ditto. Also consider to use module operator as it shows the exact amount of the records we support in the circular buffer. psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum + 1) % 4096; Since it's power-of-two denominator, it will be optimised by the compiler to the same code as it's now. > + pattrib->ampdu_en = true;/* AGG EN */ > } -- With Best Regards, Andy Shevchenko
On Thu, Apr 3, 2025 at 2:40 PM Andy Shevchenko <andy@kernel.org> wrote: > > On Thu, Apr 03, 2025 at 02:26:43PM +0100, Abraham Samuel Adekunle wrote: > > When a value has been tested for NULL in an expression, a > > second NULL test on the same value in another expression > > is unnecessary when the value has not been assigned NULL. > > > > Remove unnecessary duplicate NULL tests on the same value that > > has previously been NULL tested. > > > > Found by Coccinelle > > Missing period. Noted. ... > > + psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (tx_seq+1)&0xfff; > > While at it, make this more readable: > > psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = > (tx_seq + 1) & 0xfff; > > > > + pattrib->ampdu_en = true;/* AGG EN */ > > + } else { > > > + psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = (pattrib->seqnum+1)&0xfff; > > Ditto. > > Also consider to use module operator as it shows the exact amount of the > records we support in the circular buffer. > > psta->BA_starting_seqctrl[pattrib->priority & 0x0f] = > (pattrib->seqnum + 1) % 4096; > > Since it's power-of-two denominator, it will be optimised by the compiler to > the same code as it's now. > > > + pattrib->ampdu_en = true;/* AGG EN */ > > } > > Thank you very much for the review I will send an updated Patchset Adekunle
© 2016 - 2025 Red Hat, Inc.