Merge "cnss2: Add sanity check for cnss pm runtime APIs"

This commit is contained in:
qctecmdr 2020-02-26 19:04:34 -08:00 • committed by Gerrit - the friendly Code Review server
commit 031a77901c

View file

@ -2614,6 +2614,9 @@ int cnss_pci_pm_request_resume(struct cnss_pci_data *pci_priv)
dev = &pci_priv->pci_dev->dev;
if (!pm_runtime_enabled(dev))
return 0;
status = dev->power.runtime_status;
if (status == RPM_SUSPENDING || status == RPM_SUSPENDED)
cnss_pr_vdbg("Runtime PM resume is requested by %ps\n",
@ -2632,6 +2635,9 @@ int cnss_pci_pm_runtime_resume(struct cnss_pci_data *pci_priv)
dev = &pci_priv->pci_dev->dev;
if (!pm_runtime_enabled(dev))
return 0;
status = dev->power.runtime_status;
if (status == RPM_SUSPENDING || status == RPM_SUSPENDED)
cnss_pr_vdbg("Runtime PM resume is requested by %ps\n",
@ -2650,6 +2656,9 @@ int cnss_pci_pm_runtime_get(struct cnss_pci_data *pci_priv)
dev = &pci_priv->pci_dev->dev;
if (!pm_runtime_enabled(dev))
return 0;
status = dev->power.runtime_status;
if (status == RPM_SUSPENDING || status == RPM_SUSPENDED)
cnss_pr_vdbg("Runtime PM resume is requested by %ps\n",
@ -2668,6 +2677,9 @@ int cnss_pci_pm_runtime_get_sync(struct cnss_pci_data *pci_priv)
dev = &pci_priv->pci_dev->dev;
if (!pm_runtime_enabled(dev))
return 0;
status = dev->power.runtime_status;
if (status == RPM_SUSPENDING || status == RPM_SUSPENDED)
cnss_pr_vdbg("Runtime PM resume is requested by %ps\n",
@ -2681,6 +2693,9 @@ void cnss_pci_pm_runtime_get_noresume(struct cnss_pci_data *pci_priv)
if (!pci_priv)
return;
if (!pm_runtime_enabled(&pci_priv->pci_dev->dev))
return;
pm_runtime_get_noresume(&pci_priv->pci_dev->dev);
}
@ -2693,6 +2708,9 @@ int cnss_pci_pm_runtime_put_autosuspend(struct cnss_pci_data *pci_priv)
dev = &pci_priv->pci_dev->dev;
if (!pm_runtime_enabled(dev))
return 0;
if (atomic_read(&dev->power.usage_count) == 0) {
cnss_pr_dbg("Ignore excessive runtime PM put operation\n");
return -EINVAL;
@ -2710,6 +2728,9 @@ void cnss_pci_pm_runtime_put_noidle(struct cnss_pci_data *pci_priv)
dev = &pci_priv->pci_dev->dev;
if (!pm_runtime_enabled(dev))
return;
if (atomic_read(&dev->power.usage_count) == 0) {
cnss_pr_dbg("Ignore excessive runtime PM put operation\n");
return;