Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69586722 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

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

parents 92257be4 099d24de
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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)) {