diff options
Diffstat (limited to 'drivers/pci/pci-driver.c')
-rw-r--r-- | drivers/pci/pci-driver.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index 4446fcb5effd..d7ffd66814bb 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c | |||
@@ -1146,9 +1146,21 @@ static int pci_pm_runtime_suspend(struct device *dev) | |||
1146 | pci_dev->state_saved = false; | 1146 | pci_dev->state_saved = false; |
1147 | pci_dev->no_d3cold = false; | 1147 | pci_dev->no_d3cold = false; |
1148 | error = pm->runtime_suspend(dev); | 1148 | error = pm->runtime_suspend(dev); |
1149 | suspend_report_result(pm->runtime_suspend, error); | 1149 | if (error) { |
1150 | if (error) | 1150 | /* |
1151 | * -EBUSY and -EAGAIN is used to request the runtime PM core | ||
1152 | * to schedule a new suspend, so log the event only with debug | ||
1153 | * log level. | ||
1154 | */ | ||
1155 | if (error == -EBUSY || error == -EAGAIN) | ||
1156 | dev_dbg(dev, "can't suspend now (%pf returned %d)\n", | ||
1157 | pm->runtime_suspend, error); | ||
1158 | else | ||
1159 | dev_err(dev, "can't suspend (%pf returned %d)\n", | ||
1160 | pm->runtime_suspend, error); | ||
1161 | |||
1151 | return error; | 1162 | return error; |
1163 | } | ||
1152 | if (!pci_dev->d3cold_allowed) | 1164 | if (!pci_dev->d3cold_allowed) |
1153 | pci_dev->no_d3cold = true; | 1165 | pci_dev->no_d3cold = true; |
1154 | 1166 | ||