scst: Avoid triggering BUG() on uniprocessor systems

On uniprocessor systems with lock debugging disabled spin_is_locked()
returns false. Disable the spin_is_locked() checks if CONFIG_SMP has not
been defined.

Reported-by: Frank <frank@debian-nas.org>
Signed-off-by: Dave Carroll <dcarroll@astekcorp.com>
Cc: scst-devel <scst-devel@lists.sourceforge.net>
Cc: Frank <frank@debian-nas.org>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3828 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2011-08-22 19:19:56 +00:00
parent 706407c334
commit 648920e86b
2 changed files with 6 additions and 0 deletions

View File

@@ -6595,7 +6595,9 @@ void scst_unblock_dev(struct scst_device *dev)
TRACE_MGMT_DBG("Device UNBLOCK(new %d), dev %s",
dev->block_count-1, dev->virt_name);
#ifdef CONFIG_SMP
EXTRACHECKS_BUG_ON(!spin_is_locked(&dev->dev_lock));
#endif
if (--dev->block_count == 0) {
struct scst_cmd *cmd, *tcmd;

View File

@@ -55,7 +55,9 @@ static inline void scst_inc_pr_readers_count(struct scst_cmd *cmd,
if (!locked)
spin_lock_bh(&dev->dev_lock);
#ifdef CONFIG_SMP
EXTRACHECKS_BUG_ON(!spin_is_locked(&dev->dev_lock));
#endif
dev->pr_readers_count++;
cmd->dec_pr_readers_count_needed = 1;
@@ -83,7 +85,9 @@ static inline void scst_dec_pr_readers_count(struct scst_cmd *cmd,
if (!locked)
spin_lock_bh(&dev->dev_lock);
#ifdef CONFIG_SMP
EXTRACHECKS_BUG_ON(!spin_is_locked(&dev->dev_lock));
#endif
dev->pr_readers_count--;
cmd->dec_pr_readers_count_needed = 0;