Skip to contentSkip to conversation

mmc, kernel 4.0.5, SDIO power management error message

PATCH New Greg Alexander 1 participant 1 message Jun 8, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mmc, kernel 4.0.5, SDIO power management error message

On suspend, SDIO (MMC) power management fails and removes a card ("mmc2: card 0001 removed") if any of the card's functions don't support power management. Then nothing ever resumes it, so the card is lost forever. With this patch, it will also provide a useful error message ("btsdio mmc2:0001:3: pre_suspend failed (driver has no PM)"). This will save hours of diagnostic effort for anyone whose SDIO cards disappear on suspend.

mmc/core/sdio.c renamed from mmc/core/sdio.c.orig +2 -0
@@ -918,6 +918,8 @@
 			const struct dev_pm_ops *pmops = func->dev.driver->pm;
 			if (!pmops || !pmops->suspend || !pmops->resume) {
 				/* force removal of entire card in that case */
+				dev_err(&func->dev, "pre_suspend failed "
+					"(driver has no PM)\n");
 				err = -ENOSYS;
 				break;
 			}