Merge "cnss2: Check CNSS_MHI_POWER_OFF state in cnss_pci_suspend_bus()"

This commit is contained in:
qctecmdr 2021-03-11 21:11:06 -08:00 • committed by Gerrit - the friendly Code Review server
commit 695867227f

View file

@ -1571,12 +1571,15 @@ static void cnss_pci_set_mhi_state_bit(struct cnss_pci_data *pci_priv,
clear_bit(CNSS_MHI_INIT, &pci_priv->mhi_state);
break;
case CNSS_MHI_POWER_ON:
clear_bit(CNSS_MHI_POWER_OFF, &pci_priv->mhi_state);
set_bit(CNSS_MHI_POWER_ON, &pci_priv->mhi_state);
break;
case CNSS_MHI_POWERING_OFF:
set_bit(CNSS_MHI_POWERING_OFF, &pci_priv->mhi_state);
break;
case CNSS_MHI_POWER_OFF:
set_bit(CNSS_MHI_POWER_OFF, &pci_priv->mhi_state);
fallthrough;
case CNSS_MHI_FORCE_POWER_OFF:
clear_bit(CNSS_MHI_POWER_ON, &pci_priv->mhi_state);
clear_bit(CNSS_MHI_POWERING_OFF, &pci_priv->mhi_state);
@ -3031,7 +3034,8 @@ int cnss_pci_suspend_bus(struct cnss_pci_data *pci_priv)
struct pci_dev *pci_dev = pci_priv->pci_dev;
int ret = 0;
if (pci_priv->pci_link_state == PCI_LINK_DOWN)
if (pci_priv->pci_link_state == PCI_LINK_DOWN ||
test_bit(CNSS_MHI_POWER_OFF, &pci_priv->mhi_state))
goto out;
if (cnss_pci_set_mhi_state(pci_priv, CNSS_MHI_SUSPEND)) {