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

From: Konrad Rzeszutek Wilk
Date: Fri Jan 27 2012 - 14:09:52 EST


On Fri, Jan 27, 2012 at 09:32:25AM -0800, Jesse Barnes wrote:
> 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! Lets keep them in your tree.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/