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

Commit d326b7ac authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "icnss: Avoid wlan driver remove during modem graceful shutdown"

parents 54c3bbc4 7311ff92
Loading
Loading
Loading
Loading
+1 −27
Original line number Diff line number Diff line
@@ -2329,29 +2329,6 @@ out:
	return 0;
}

static int icnss_call_driver_remove(struct icnss_priv *priv)
{
	icnss_pr_dbg("Calling driver remove state: 0x%lx\n", priv->state);

	clear_bit(ICNSS_FW_READY, &priv->state);

	if (!test_bit(ICNSS_DRIVER_PROBED, &penv->state))
		return 0;

	if (!priv->ops || !priv->ops->remove)
		return 0;

	set_bit(ICNSS_DRIVER_UNLOADING, &penv->state);
	penv->ops->remove(&priv->pdev->dev);

	clear_bit(ICNSS_DRIVER_UNLOADING, &penv->state);
	clear_bit(ICNSS_DRIVER_PROBED, &priv->state);

	icnss_hw_power_off(penv);

	return 0;
}

static int icnss_fw_crashed(struct icnss_priv *priv,
			    struct icnss_event_pd_service_down_data *event_data)
{
@@ -2387,10 +2364,7 @@ static int icnss_driver_event_pd_service_down(struct icnss_priv *priv,
		goto out;
	}

	if (event_data->crashed)
	icnss_fw_crashed(priv, event_data);
	else
		icnss_call_driver_remove(priv);

out:
	kfree(data);