xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases.
commit494ef20db6ea2e2ab1c3a45a1461e6e717fdcf48
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 23 Jul 2010 18:35:47 +0000 (23 14:35 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 20 Jul 2011 00:58:32 +0000 (19 20:58 -0400)
tree1ec8749b08e5042a57d08014ea9e0fea832e4ee8
parent0513fe9e5b54e47e37217ea078dd870e3825e02d
xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases.

We were using coarse spinlocks that could end up with a deadlock.
This patch fixes that and makes the spinlocks much more fine-grained.

We also drop be->watchding state spinlocks as they are already
guarded by the xenwatch_thread against multiple customers. Without
that we would trigger the BUG: scheduling while atomic.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/xen/xen-pciback/passthrough.c
drivers/xen/xen-pciback/xenbus.c