Hi Georgi,
I collected some info on this problem. May be below info might help you.
I think "Reset 0x1" problem is occurring because of below call stack.
SDHCI_RESET_ALL to SDHCI_SOFTWARE_RESET register will anyway trigger the
sdhci_msm_pwr_irq.
But I think the problem is that the above occurs in spinlock context
and because of only one core the IRQ will never be serviced, hence you
were seeing (Reset 0x1) error.
To prove above I tried this and the problem goes away. But I still dont
think that the below approach is correct. As it will still trigger a
pwr_irq as well.
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 62aedf1..01e611c 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -174,6 +174,8 @@ void sdhci_reset(struct sdhci_host *host, u8 mask)
/* Reset-all turns off SD Bus Power */
if (host->quirks2 & SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON)
sdhci_runtime_pm_bus_off(host);
+ if (host->ops->voltage_switch)
+ host->ops->voltage_switch(host);
}