Re: [PATCH 1/2] pci: Introduce __pci_reset_function_locked to beused when holding device_lock.

From: Jesse Barnes
Date: Fri Jan 27 2012 - 12:32:29 EST


On Thu, 12 Jan 2012 12:06:46 -0500
Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote:

> The use case of this is when a driver wants to call FLR when a device
> is attached to it using the SysFS "bind" or "unbind" functionality.
>
> The call chain when a user does "bind" looks as so:
>
> echo "0000:01.07.0" > /sys/bus/pci/drivers/XXXX/bind
>
> and ends up calling:
> driver_bind:
> device_lock(dev); <=== TAKES LOCK
> XXXX_probe:
> .. pci_enable_device()
> ...__pci_reset_function(), which calls
> pci_dev_reset(dev, 0):
> if (!0) {
> device_lock(dev) <==== DEADLOCK

I have these two in my -next branch now; but you could also push them
through the Xen tree. If you have other deps and the Xen tree would be
easier, just let me know and I'll drop them.

Thanks,
--
Jesse Barnes, Intel Open Source Technology Center

Attachment: signature.asc
Description: PGP signature