From mboxrd@z Thu Jan 1 00:00:00 1970 From: svenkatr@ti.com (S, Venkatraman) Date: Mon, 26 Mar 2012 12:19:12 +0530 Subject: Occasional crashes in suspend-resume with MMC transactions In-Reply-To: References: Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Mar 22, 2012 at 9:43 PM, Bedia, Vaibhav wrote: > On Thu, Mar 22, 2012 at 21:36:36, S, Venkatraman wrote: >> On Thu, Mar 22, 2012 at 8:13 PM, Bedia, Vaibhav wrote: >> > On Thu, Mar 22, 2012 at 19:57:16, S, Venkatraman wrote: >> > [...] >> >> >> >> I see (in 3.3) that the host controller driver does a "return ret" and >> >> that means the errors is propagated. >> >> Where is the return code lost /overridden ? >> >> >> > >> > The return code gets overridden due to the call to host->pdata->resume() >> > which always returns 0. >> >> Thanks - I see what you mean. But the patch is clunky. >> A clean fix would be to not capture the return code of resume() in >> "ret" and let the old >> value of ret be propagated as is. >> > > I agree. However, right now there's a dev_dbg() which checks for the return code. > I could change the host->pdata->resume() and host->pdata->suspend() to not return > anything if that's acceptable. > That's a good idea. > More importantly, is this the right fix or does the driver need some other fix > to make sure that such suspend failures do not occur at all? I will look into this - but haven't seen such failures here to know what's behind the symptom.