Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753533AbbBYSwd (ORCPT ); Wed, 25 Feb 2015 13:52:33 -0500 Received: from bhuna.collabora.co.uk ([93.93.135.160]:52347 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752739AbbBYSwc (ORCPT ); Wed, 25 Feb 2015 13:52:32 -0500 Message-ID: <54EE19E9.9090501@collabora.co.uk> Date: Wed, 25 Feb 2015 19:52:25 +0100 From: Javier Martinez Canillas User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.2.0 MIME-Version: 1.0 To: Doug Anderson , Jaehoon Chung , Seungwon Jeon , Ulf Hansson CC: Alim Akhtar , Sonny Rao , Andrew Bresticker , Heiko Stuebner , Addy Ke , Alexandru Stan , linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, chris@printf.net, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] mmc: dw_mmc: Only enable CD after setup and only if needed References: <1424887912-20015-1-git-send-email-dianders@chromium.org> In-Reply-To: <1424887912-20015-1-git-send-email-dianders@chromium.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1626 Lines: 49 Hello Doug, On 02/25/2015 07:11 PM, Doug Anderson wrote: > We really don't want to get a card detect interrupt during probe time > since it can confuse things. Let's disable the card detect interrupt > until we're in a really good place: the end of probe. Let's also > simply avoid enabling the card detect interrupt if it's not used. > > It appears that (at least on rk3288) when vqmmc is turned on it can > cause a bogus "card detect" interrupt. That meant that we were > getting a predictable card detect interrupt while we were in > mmc_add_host(). On the version of the kernel I'm working with at > least (3.14), this is not a great time to get a card detect interrupt > since I think that we don't grab all the needed locks in > mmc_add_host() and children. I put stack dumps in dw_mci_setup_bus() > and found that I could see two distinct stack crawls that looked like: > > Caller one: > * dw_mci_setup_bus > * dw_mci_set_ios > * mmc_power_up > * mmc_start_host > * mmc_add_host > > Caller two: > * dw_mci_setup_bus > * dw_mci_set_ios > * mmc_set_chip_select > * mmc_go_idle > * mmc_rescan > * process_one_work > * worker_thread > * kthread > > Signed-off-by: Doug Anderson > On an Exynos5250 Snow, Exynos5420 Peach Pit and Exynos5800 Peach Pi: Tested-by: Javier Martinez Canillas Best regards, Javier -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/