question about ...: wrong count at exit"

Tomas Winkler tomasw at gmail.com
Thu May 29 04:07:19 EDT 2008


On Thu, May 29, 2008 at 10:49 AM, Johannes Berg
<johannes at sipsolutions.net> wrote:
> On Thu, 2008-05-29 at 09:37 +0200, Holger Schurig wrote:
>> After pulling the newest sparse, I got some new sparse warnings
>> which puzzle me. Here's one of them:
>>
>> drivers/net/wireless/libertas/main.c:477:9: warning: context imbalance in 'lbs_eth_stop': wrong count at exit
>> drivers/net/wireless/libertas/main.c:477:9:    context 'lock': wanted 0, got 1
>>
>> However, the function looks quite innocent, and I cannot see
>> any imbalance there. Did I oversee something or is that a
>> problem of sparse?
>
>>         spin_lock_irq(&priv->driver_lock);
>>         priv->infra_open = 0;
>>         netif_stop_queue(dev);
>>         spin_unlock_irq(&priv->driver_lock);
>
> I think it's a sparse problem caused by my patch, I sent further patches
> to fix it but they were never applied (and had a slight remaining
> problem too). If you look at the pre-processed function it should become
> obvious.
>

I got plenty of this in the mac80211 reported with newest sparse, but
they looks false caused by 'goto statements'

Tomas



More information about the libertas-dev mailing list