From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH 6/7] ALSA: hda/tegra: fix kernel panic Date: Tue, 22 Jan 2019 07:24:57 +0100 Message-ID: References: <1548092497-5459-1-git-send-email-spujar@nvidia.com> <1548092497-5459-7-git-send-email-spujar@nvidia.com> <3f222d50-67eb-c96f-7c0c-b47468cd1b00@nvidia.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id AF98E2667E7 for ; Tue, 22 Jan 2019 07:24:58 +0100 (CET) In-Reply-To: <3f222d50-67eb-c96f-7c0c-b47468cd1b00@nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Sameer Pujar Cc: alsa-devel@alsa-project.org, broonie@kernel.org List-Id: alsa-devel@alsa-project.org On Tue, 22 Jan 2019 04:41:16 +0100, Sameer Pujar wrote: > > > On 1/22/2019 2:58 AM, Takashi Iwai wrote: > > On Mon, 21 Jan 2019 18:41:36 +0100, > > Sameer Pujar wrote: > >> Kernel panic is seen during device boot. It appears that before the > >> probe completes, runtime callbacks happen and the device setup is not > >> done yet. This could be initiated from framework through exposed > >> callbacks. This issue can be fixed by having a flag to indicate > >> completion of device probe. Hence 'probed' flag is introduced to notify > >> completion of probe and runtime callbacks can check this flag before > >> doing any device access. > > Such a fix should be rather folded into the previous, especially if > > you know it's already broken :) > Ok, I will meld this with previous commit. > > > > And, IMO, it's better to put such a check into runtime_idle callback > > instead of doing in each (runtime_)suspend/resume callback. > Check in runtime_idle would take care of suspend path. But how the check in > runtime_resume can be avoided? Kernel panic happened during > runtime_resume(). Hm, right, we need the check in both places, since runtime PM is called from the system PM, too. BTW, I guess we can check chip->running instead of adding a new flag. thanks, Takashi