Re: [PATCH v2] staging: rtl8723bs: core: Refactor nested if-else

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 10/26/21 17:12, kushal kothari wrote:
> Yes!
> Also initializing  variable pstat->has_legacy_ac = false;  //false
> which is previously set to true before the loop so it can be removed too.

Note please do not make too many changes in a single patch.

It is best to do refactoring like this in small steps making
only 1 change at a time, that makes things a lot easier to
review / to verify that there are no functional changes.

Regards,

Hans


> 
> On Tue, Oct 26, 2021 at 7:49 PM Mike Rapoport <mike.rapoport@xxxxxxxxx <mailto:mike.rapoport@xxxxxxxxx>> wrote:
> 
>     On Tue, Oct 26, 2021 at 07:12:53PM +0530, Kushal Kothari wrote:
>     > Refactor nested if-else to avoid deep indentations. There is no change
>     > in the logic of the new code, however, now it is simple because it gets
>     > rid of five unnecessary else conditionals and it combines nested if into
>     > single if-else-if. This refactor also leads to fix warning detected by
>     > checkpatch.pl <http://checkpatch.pl>:
>     > WARNING: Too many leading tabs - consider code refactoring
>     >
>     > Signed-off-by: Kushal Kothari <kushalkothari285@xxxxxxxxx <mailto:kushalkothari285@xxxxxxxxx>>
>     > ---
>     >
>     > Changes in v2: Fix the bug of not handling properly the else logic
>     > when p is not null in else-if. Also, reword the subject line and break
>     > it up at 72 columns.
>     >
>     >  drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 69 ++++++++-----------
>     >  1 file changed, 29 insertions(+), 40 deletions(-)
>     >
>     > diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
>     > index 0f82f5031c43..267d853b1514 100644
>     > --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
>     > +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
>     > @@ -1192,50 +1192,39 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
>     >               p = pframe + WLAN_HDR_A3_LEN + ie_offset; ie_len = 0;
>     >               for (;;) {
>     >                       p = rtw_get_ie(p, WLAN_EID_VENDOR_SPECIFIC, &ie_len, pkt_len - WLAN_HDR_A3_LEN - ie_offset);
>     > -                     if (p) {
>     > -                             if (!memcmp(p+2, WMM_IE, 6)) {
>     > -
>     > -                                     pstat->flags |= WLAN_STA_WME;
>     > -
>     > -                                     pstat->qos_option = 1;
>     > -                                     pstat->qos_info = *(p+8);
>     > -
>     > -                                     pstat->max_sp_len = (pstat->qos_info>>5)&0x3;
>     > -
>     > -                                     if ((pstat->qos_info&0xf) != 0xf)
>     > -                                             pstat->has_legacy_ac = true;
>     > -                                     else
>     > -                                             pstat->has_legacy_ac = false;
>     > -
>     > -                                     if (pstat->qos_info&0xf) {
>     > -                                             if (pstat->qos_info&BIT(0))
>     > -                                                     pstat->uapsd_vo = BIT(0)|BIT(1);
>     > -                                             else
>     > -                                                     pstat->uapsd_vo = 0;
>     > -
>     > -                                             if (pstat->qos_info&BIT(1))
>     > -                                                     pstat->uapsd_vi = BIT(0)|BIT(1);
>     > -                                             else
>     > -                                                     pstat->uapsd_vi = 0;
>     > -
>     > -                                             if (pstat->qos_info&BIT(2))
>     > -                                                     pstat->uapsd_bk = BIT(0)|BIT(1);
>     > -                                             else
>     > -                                                     pstat->uapsd_bk = 0;
>     > -
>     > -                                             if (pstat->qos_info&BIT(3))
>     > -                                                     pstat->uapsd_be = BIT(0)|BIT(1);
>     > -                                             else
>     > -                                                     pstat->uapsd_be = 0;
>     > -
>     > -                                     }
>     > -
>     > -                                     break;
>     > +                     if (p && memcmp(p+2, WMM_IE, 6)) {
>     > +                             p = p + ie_len + 2;
>     > +                     } else if (p && !memcmp(p+2, WMM_IE, 6)) {
>     > +                             pstat->flags |= WLAN_STA_WME;
>     > +                             pstat->qos_option = 1;
>     > +                             pstat->qos_info = *(p+8);
>     > +                             pstat->max_sp_len = (pstat->qos_info>>5)&0x3;
>     > +
>     > +                             pstat->has_legacy_ac = false;
>     > +                             if ((pstat->qos_info&0xf) != 0xf)
>     > +                                     pstat->has_legacy_ac = true;
>     > +
>     > +                             if (pstat->qos_info&0xf) {
>     > +                                     pstat->uapsd_vo = 0;
> 
>     This variable and other variables below are set to 0 just before the loop,
>     so the initialization here can be removed.
> 
>     > +                                     if (pstat->qos_info&BIT(0))
>     > +                                             pstat->uapsd_vo = BIT(0)|BIT(1);
>     > +
>     > +                                     pstat->uapsd_vi = 0;
>     > +                                     if (pstat->qos_info&BIT(1))
>     > +                                             pstat->uapsd_vi = BIT(0)|BIT(1);
>     > +
>     > +                                     pstat->uapsd_bk = 0;
>     > +                                     if (pstat->qos_info&BIT(2))
>     > +                                             pstat->uapsd_bk = BIT(0)|BIT(1);
>     > +
>     > +                                     pstat->uapsd_be = 0;
>     > +                                     if (pstat->qos_info&BIT(3))
>     > +                                             pstat->uapsd_be = BIT(0)|BIT(1);
>     >                               }
>     > +                             break;
>     >                       } else {
>     >                               break;
>     >                       }
>     > -                     p = p + ie_len + 2;
>     >               }
>     >       }
>
>     > --
>     > 2.25.1
>     >
> 
>     -- 
>     Sincerely yours,
>     Mike.
> 





[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux