driver core: Document limitation related to DL_FLAG_RPM_ACTIVE
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 7 Feb 2019 18:41:56 +0000 (19:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Feb 2019 10:26:14 +0000 (11:26 +0100)
commit70fb9a252317e04bd9af68ed89d4bf6caeb252e4
tree8e9024b062cd12f25a6785921e328933994f52bf
parent4080ab083000a1e9656b0d1607e238e7001e0c84
driver core: Document limitation related to DL_FLAG_RPM_ACTIVE

If device_link_add() is called twice in a row to create a stateless
device link for the same consumer-supplier pair without an attempt
to delete the link between these calls, and the second caller passes
DL_FLAG_RPM_ACTIVE to it in flags, calling either device_link_del()
or device_link_remove() immediately after that will leave the link's
supplier device with nonzero PM-runtime usage counter, which may
prevent the supplier from being runtime-suspended going forward
until the link is deleted by another invocation of device_link_del()
or device_link_remove() for it.

Even though this is confusing and may lead to subtle issues, trying
to avoid it in the framework also may cause problems to appear, so
document it as a known limitation.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/driver-api/device_link.rst