summaryrefslogtreecommitdiffstats
path: root/drivers/ata/ahci_platform.c
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2012-01-12 18:06:46 +0100
committerJesse Barnes <jbarnes@virtuousgeek.org>2012-02-14 17:44:48 +0100
commit6fbf9e7a90862988c278462d85ce9684605a52b2 (patch)
treeccc79061bac41537c37f5edc73bdc5bc59005c8a /drivers/ata/ahci_platform.c
parentPCI: drivers/pci/hotplug/ibmphp_ebda.c: add missing iounmap (diff)
downloadlinux-6fbf9e7a90862988c278462d85ce9684605a52b2.tar.xz
linux-6fbf9e7a90862988c278462d85ce9684605a52b2.zip
PCI: Introduce __pci_reset_function_locked to be used when holding device_lock.
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 The __pci_reset_function_locked function allows the the drivers 'probe' function to call the "pci_reset_function" while still holding the driver mutex lock. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/ata/ahci_platform.c')
0 files changed, 0 insertions, 0 deletions