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

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

Merge "cnss2: Avoid double calling MHI force wake put"

parents c2c2b695 3cd7a533
Loading
Loading
Loading
Loading
+18 −7
Original line number Diff line number Diff line
@@ -493,6 +493,7 @@ int cnss_pci_debug_reg_read(struct cnss_pci_data *pci_priv, u32 offset,
			    u32 *val)
{
	int ret = 0;
	bool do_force_wake_put = true;

	ret = cnss_pci_is_device_down(&pci_priv->pci_dev->dev);
	if (ret)
@@ -502,7 +503,9 @@ int cnss_pci_debug_reg_read(struct cnss_pci_data *pci_priv, u32 offset,
	if (ret < 0)
		goto runtime_pm_put;

	cnss_pci_force_wake_get(pci_priv);
	ret = cnss_pci_force_wake_get(pci_priv);
	if (ret)
		do_force_wake_put = false;

	ret = cnss_pci_reg_read(pci_priv, offset, val);
	if (ret) {
@@ -512,6 +515,7 @@ int cnss_pci_debug_reg_read(struct cnss_pci_data *pci_priv, u32 offset,
	}

force_wake_put:
	if (do_force_wake_put)
		cnss_pci_force_wake_put(pci_priv);
runtime_pm_put:
	cnss_pci_pm_runtime_mark_last_busy(pci_priv);
@@ -524,6 +528,7 @@ int cnss_pci_debug_reg_write(struct cnss_pci_data *pci_priv, u32 offset,
			     u32 val)
{
	int ret = 0;
	bool do_force_wake_put = true;

	ret = cnss_pci_is_device_down(&pci_priv->pci_dev->dev);
	if (ret)
@@ -533,7 +538,9 @@ int cnss_pci_debug_reg_write(struct cnss_pci_data *pci_priv, u32 offset,
	if (ret < 0)
		goto runtime_pm_put;

	cnss_pci_force_wake_get(pci_priv);
	ret = cnss_pci_force_wake_get(pci_priv);
	if (ret)
		do_force_wake_put = false;

	ret = cnss_pci_reg_write(pci_priv, offset, val);
	if (ret) {
@@ -543,6 +550,7 @@ int cnss_pci_debug_reg_write(struct cnss_pci_data *pci_priv, u32 offset,
	}

force_wake_put:
	if (do_force_wake_put)
		cnss_pci_force_wake_put(pci_priv);
runtime_pm_put:
	cnss_pci_pm_runtime_mark_last_busy(pci_priv);
@@ -1474,7 +1482,8 @@ static void cnss_pci_misc_reg_dump(struct cnss_pci_data *pci_priv,
	if (cnss_pci_check_link_status(pci_priv))
		return;

	cnss_pci_force_wake_get(pci_priv);
	if (cnss_pci_force_wake_get(pci_priv))
		return;

	cnss_pr_dbg("start to dump %s registers\n", reg_name);

@@ -1530,6 +1539,7 @@ static void cnss_pci_dump_shadow_reg(struct cnss_pci_data *pci_priv)
{
	int i, j = 0, array_size = SHADOW_REG_COUNT + SHADOW_REG_INTER_COUNT;
	u32 reg_offset;
	bool do_force_wake_put = true;

	if (in_interrupt() || irqs_disabled())
		return;
@@ -1546,7 +1556,7 @@ static void cnss_pci_dump_shadow_reg(struct cnss_pci_data *pci_priv)
	}

	if (cnss_pci_force_wake_get(pci_priv))
		return;
		do_force_wake_put = false;

	cnss_pr_dbg("Start to dump shadow registers\n");

@@ -1567,6 +1577,7 @@ static void cnss_pci_dump_shadow_reg(struct cnss_pci_data *pci_priv)
	}

force_wake_put:
	if (do_force_wake_put)
		cnss_pci_force_wake_put(pci_priv);
}