Re: [PATCH v2] zd1211rw: replace ZD_ASSERT with lockdep_assert_held()
flat view
From: Julian Calaby <hidden>
Date: 2014-09-15 06:02:26
Also in:
linux-wireless, lkml
Hi Sanjeev, On Thu, Sep 11, 2014 at 8:36 PM, Sharma, Sanjeev [off-list ref] wrote:
-----Original Message----- From: Johannes Berg [mailto:johannes@sipsolutions.net] Sent: Thursday, September 11, 2014 3:42 PM To: Sharma, Sanjeev Cc: dsd@gentoo.org; kune@deine-taler.de; linux-wireless@vger.kernel.org; linux-kernel@vger.kernel.org; netdev@vger.kernel.org Subject: Re: [PATCH v2] zd1211rw: replace ZD_ASSERT with lockdep_assert_held() On Thu, 2014-09-11 at 15:39 +0530, Sanjeev Sharma wrote:quoted
on some architecture spin_is_locked() always return false in uniprocessor configuration and therefore it would be advise to replace with lockdep_assert_held(). Signed-off-by: Sanjeev Sharma <redacted> --- Changes in v2: - corrected the typoquoted
Now it compiles, but you got the logic wrong.quoted
+++ b/drivers/net/wireless/zd1211rw/zd_mac.c@@ -235,7 +235,7 @@ void zd_mac_clear(struct zd_mac *mac) { flush_workqueue(zd_workqueue); zd_chip_clear(&mac->chip); - ZD_ASSERT(!spin_is_locked(&mac->lock)); + lockdep_assert_held(&mac->lock); ZD_MEMCLEAR(mac, sizeof(struct zd_mac)); }quoted
Look closely at this again.I didn't understand where I put wrong logic ?
I find it helps to spell out what code is doing in words. E.g. the line you're removing is: ZD_ASSERT(!spin_is_locked(&mac->lock)); So, we'll assert when spin_is_locked(&mac->lock) is false, i.e. when mac->lock is not spin locked. This isn't the same as what you're replacing it with. Thanks, -- Julian Calaby Email: julian.calaby@gmail.com Profile: http://www.google.com/profiles/julian.calaby/