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

Commit f1072384 authored by Daniel Drake's avatar Daniel Drake Committed by John W. Linville
Browse files

libertas sdio: fix suspend when interface is down



When the interface is down, the hardware is powered off.
However, the suspend handler currently tries to send host sleep commands
(when wakeup params are set) in this configuration, causing a system hang
when going into suspend (the commands will never complete).

Avoid this by detecting this situation and simply returning from
the suspend handler without doing anything special.

Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
Acked-by: default avatarDan Williams <dcbw@redhat.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent efd5d6b0
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1326,6 +1326,11 @@ static int if_sdio_suspend(struct device *dev)

	mmc_pm_flag_t flags = sdio_get_host_pm_caps(func);

	/* If we're powered off anyway, just let the mmc layer remove the
	 * card. */
	if (!lbs_iface_active(card->priv))
		return -ENOSYS;

	dev_info(dev, "%s: suspend: PM flags = 0x%x\n",
		 sdio_func_id(func), flags);