OSDN Git Service

staging: unisys: rework signal remove/insert to avoid sparse lock warnings
authorZachary Warren <conflatulence@gmail.com>
Sat, 17 Jan 2015 11:39:53 +0000 (22:39 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Jan 2015 18:52:58 +0000 (10:52 -0800)
commitb12fdf7da28ff9709a72814e141646e20d97ed21
tree2f3bbf59989a4475cc1210a2a972855dffcc6f5b
parentc1f79c74e222000386f3950ed98d150e6009648b
staging: unisys: rework signal remove/insert to avoid sparse lock warnings

Avoids the following warnings from sparse:
visorchannel_funcs.c:457:9: warning:
 context imbalance in 'visorchannel_signalremove' - different lock contexts for basic block
visorchannel_funcs.c:512:9: warning:
 context imbalance in 'visorchannel_signalinsert' - different lock contexts for basic

These warnings are false positives. Sparse can't track conditional contexts. The change
puts the lock/unlock into the same context by splitting the insert/remove functions each
into a wrapper function that does locking if necessary and an inner function that does the
insert/remove operation.

Signed-off-by: Zachary Warren <conflatulence@gmail.com>
Acked-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorchannel/visorchannel_funcs.c