CA-123007: Hold a mutex inside Device.PCI.unbind_from_nvidia
CA-123007: Hold a mutex inside Device.PCI.unbind_from_nvidia

If multiple threads are trying to unbind different devices in parallel,
there is a chance that some of the nodes under /proc/driver/nvidia/ will
disappear after a thread has retrieved the list of nodes but before that
thread has accessed their contents.

Holding a mutex for the duration of the (find device,lock device,unbind)
sequence means this should no longer happen.

Imported from xen-api.git ce643b2c09116674af98ed99aa0d9c9384d3c724

Signed-off-by: John Else <37b74501daa612e48fea94f9846ed4ddeb6a8f07@citrix.com>
Imported-by: John Else <37b74501daa612e48fea94f9846ed4ddeb6a8f07@citrix.com>

djs55/xenopsd-previous,euanh/xenopsd,thomassa/xenopsd,djs55/xenopsd,djs55/xenopsd,euanh/xenopsd,cheng--zhang/xenopsd,simonjbeaumont/xenopsd,koushikcgit/xenopsd,djs55/xenopsd,koushikcgit/xenopsd,euanh/xenopsd,thomassa/xenopsd,cheng--zhang/xenopsd,johnelse/xenopsd,cheng--zhang/xenopsd,simonjbeaumont/xenopsd,johnelse/xenopsd,johnelse/xenopsd,koushikcgit/xenopsd,djs55/xenopsd-previous,thomassa/xenopsd,simonjbeaumont/xenopsd,djs55/xenopsd-previous