Re: [BUG ?] staging: rtl8723au: condition with no effect

Nicholas Mc Guire
2015-06-14T06:19:50Z

On Sat, 13 Jun 2015, Jes Sorensen wrote:

> Nicholas Mc Guire <hofrat@osadl.org> writes:
> > scanning for trivial bug-patters with coccinelle spatches returned:
> > ./drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:1395
> > WARNING: condition with no effect (if branch == else)
> >
> > drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c - line numbers from 4.1-rc7
> > 1395 if (bWithoutHWSM) {
> > 1396 /* value16 |= (APDM_HOST | FSM_HSUS |/PFM_ALDN); */
> > 1397 /* 2010/08/31 According to Filen description, we need to
> > 1398 use HW to shut down 8051 automatically. */
> > 1399 /* Because suspend operation need the asistance of 8051
> > 1400 to wait for 3ms. */
> > 1401 value16 = APDM_HOST | AFSM_HSUS | PFM_ALDN;
> > 1402 } else {
> > 1403 value16 = APDM_HOST | AFSM_HSUS | PFM_ALDN;
> > 1404 }
> > 1405
> > 1406 rtl8723au_write16(padapter, REG_APS_FSMCO, value16); /* 0x4802 */
> >
> > Not clear what the intent is but this looks like a typo/bug in the assigment
> > of value16 as the condition here has no effect.
>
> Doesn't look like a typo, looks like someone at some point had commented
> out PFM_ALDN in the bWithoutHWSM case. Why they did that and then later
> overrode it, I have no idea.
>
as far as its traceable in git log if == else was in there from the
very beginning (including that comment) - both the if and else were
updated in commit cffca68d7b2f ("staging: rtl8723au: _DisableAnalog(): Avoid
zero-init variables unnecessaril") but without changing PFM_ALDN - as there
are no comments to the meaning of these bits in the header file there is
no way to really come up with a resonable patch. anyway its either wrong
settings or the condition should be removed.

thx!
hofrat