[PATCH 01/19] thunderbolt: Resume control channel after hibernation image is created

Anthony Wong anthony.wong at canonical.com
Wed Mar 28 12:31:08 UTC 2018

From: Mika Westerberg <mika.westerberg at linux.intel.com>

The driver misses implementation of PM hook that undoes what
->freeze_noirq() does after the hibernation image is created. This means
the control channel is not resumed properly and the Thunderbolt bus
becomes useless in later stages of hibernation (when the image is stored
or if the operation fails).

Fix this by pointing ->thaw_noirq to driver nhi_resume_noirq(). This
makes sure the control channel is resumed properly.

Fixes: 23dd5bb49d98 ("thunderbolt: Add suspend/hibernate support")
Signed-off-by: Mika Westerberg <mika.westerberg at linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko at gmail.com>
Cc: stable at vger.kernel.org
(cherry picked from commit f2a659f7d8d5da803836583aa16df06bdf324252)
Signed-off-by: Anthony Wong <anthony.wong at canonical.com>
 drivers/thunderbolt/nhi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c
index f45bcbc..80c33c7 100644
--- a/drivers/thunderbolt/nhi.c
+++ b/drivers/thunderbolt/nhi.c
@@ -1064,6 +1064,7 @@ static const struct dev_pm_ops nhi_pm_ops = {
 					    * we just disable hotplug, the
 					    * pci-tunnels stay alive.
+	.thaw_noirq = nhi_resume_noirq,
 	.restore_noirq = nhi_resume_noirq,
 	.suspend = nhi_suspend,
 	.freeze = nhi_suspend,

More information about the kernel-team mailing list