lkml.org 
[lkml]   [2014]   [Dec]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] staging: rtl8188eu: rtw_mlme.c: fix sparse warning
On 12/28/2014 11:47 PM, Serguey Parkhomovsky wrote:
> Fixes the following sparse warning for rtw_mlme.c:
>
> drivers/staging/rtl8188eu/core/rtw_mlme.c:810:9: warning: context imbalance in 'rtw_free_assoc_resources' - different lock contexts for basic block
>
> Signed-off-by: Serguey Parkhomovsky <sergueyparkhomovsky@gmail.com>
> ---
> drivers/staging/rtl8188eu/core/rtw_mlme.c | 37 ++++++++++++++++++++-----------
> 1 file changed, 24 insertions(+), 13 deletions(-)

Are these many changes needed just because Sparse is not smart enough to
understand that the following does not really have a context imbalance:

if (lock_scanned_queue)
spin_lock_bh(&(pmlmepriv->scanned_queue.lock));
.....
.....

if (lock_scanned_queue)
spin_unlock_bh(&pmlmepriv->scanned_queue.lock);

Nothing in the middle touches lock_scanned_queue, thus if the spin lock and
unlock operations will be paired. That is all that is important. The fact that
some tool objects to this construct means that the tool is broken, not the code.

In my mind, Sparse warnings/errors/checks are in place to alert you to a
possible problem. If they point to white space issues, then you fix them. If
they point to lines that are too long, then you see if you can shorten them
without harming the readability. In any case, judgement should be used before
blindly trying to silence the warning.

For those reasons, NACK.

Larry




\
 
 \ /
  Last update: 2014-12-29 07:41    [W:0.026 / U:0.548 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site