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

Commit 10b7f364 authored by Mohammed Javid's avatar Mohammed Javid
Browse files

msm: ipa: Fix to avoid NETDEV WATCHDOG warning logs



To avoid NETDEV WATCHDOG warning logs in rment suspended state,
added changed to stopping watchdog timer in suspend state and
start again resume state.

Change-Id: Ie187ba6cdb6adc3883fa17c33b100389cfb6bea5
Acked-by: default avatarAshok Vuyyuru <avuyyuru@qti.qualcomm.com>
Signed-off-by: default avatarMohammed Javid <mjavid@codeaurora.org>
parent 5aa9cff8
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -2307,6 +2307,12 @@ static int rmnet_ipa_ap_suspend(struct device *dev)

	/* Make sure that there is no Tx operation ongoing */
	netif_tx_lock_bh(netdev);
	netif_stop_queue(netdev);

	/* Stoppig Watch dog timer when pipe was in suspend state */
	if (del_timer(&netdev->watchdog_timer))
		dev_put(netdev);

	ipa_rm_release_resource(IPA_RM_RESOURCE_WWAN_0_PROD);
	netif_tx_unlock_bh(netdev);
	IPAWANDBG_LOW("Exit\n");
@@ -2329,7 +2335,12 @@ static int rmnet_ipa_ap_resume(struct device *dev)
	struct net_device *netdev = ipa_netdevs[0];

	IPAWANDBG_LOW("Enter...\n");
	if (netdev) {
		netif_wake_queue(netdev);
		/* Starting Watch dog timer, pipe was changes to resume state */
		if (netif_running(netdev) && netdev->watchdog_timeo <= 0)
			__netdev_watchdog_up(netdev);
	}
	IPAWANDBG_LOW("Exit\n");

	return 0;
+8 −1
Original line number Diff line number Diff line
@@ -2598,6 +2598,9 @@ static int rmnet_ipa_ap_suspend(struct device *dev)

	/* Make sure that there is no Tx operation ongoing */
	netif_stop_queue(netdev);
	/* Stoppig Watch dog timer when pipe was in suspend state */
	if (del_timer(&netdev->watchdog_timer))
		dev_put(netdev);
	netif_tx_unlock_bh(netdev);
	if (ipa3_ctx->use_ipa_pm)
		ipa_pm_deactivate_sync(rmnet_ipa3_ctx->pm_hdl);
@@ -2624,8 +2627,12 @@ static int rmnet_ipa_ap_resume(struct device *dev)
	struct net_device *netdev = IPA_NETDEV();

	IPAWANDBG("Enter...\n");
	if (netdev)
	if (netdev) {
		netif_wake_queue(netdev);
		/* Starting Watch dog timer, pipe was changes to resume state */
		if (netif_running(netdev) && netdev->watchdog_timeo <= 0)
			__netdev_watchdog_up(netdev);
	}
	IPAWANDBG("Exit\n");

	return 0;