[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <s5hee3rur42.wl-tiwai@suse.de>
Date: Fri, 25 Feb 2022 12:23:41 +0100
From: Takashi Iwai <tiwai@...e.de>
To: Jaroslav Kysela <perex@...ex.cz>
Cc: Raghu Bankapur <quic_rbankapu@...cinc.com>,
Vinod Koul <vkoul@...nel.org>, Takashi Iwai <tiwai@...e.com>,
ierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Mark Brown <broonie@...nel.org>,
Kai Vehmanen <kai.vehmanen@...ux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
Takashi Sakamoto <o-takashi@...amocchi.jp>,
alsa-devel@...a-project.org, Zubin Mithra <zsm@...omium.org>,
linux-kernel@...r.kernel.org,
Krishna Jha <quic_kkishorj@...cinc.com>
Subject: Re: [PATCH V0 1/1] ALSA: pcm: fix blocking while loop in snd_pcm_update_hw_ptr0()
On Fri, 25 Feb 2022 11:52:05 +0100,
Jaroslav Kysela wrote:
>
> On 25. 02. 22 11:39, Raghu Bankapur wrote:
> > When period interrupts are disabled, while loop in snd_pcm_update_hw_ptr0()
> > results in the machine locking up if runtime->hw_ptr_buffer_jiffies is 0.
> > Validate runtime->hw_ptr_buffer_jiffies value before while loop to avoid
> > delta check.
>
> I would set hw_ptr_buffer_jiffies to 1 in this case in snd_pcm_post_start().
I thought of it at the first glance, but after reading the code again,
I doubt whether it makes sense at all to allow this condition.
Since the buffer size is too small and the rate is too high, we can't
calculate the buffer crossing condition accurately under such
condition.
But, having either this zero check or minimal hw_ptr_buffer_jiffies=1
would be good in anyway, even if we add more check for the hw_params
for no-period-wakeup case.
thanks,
Takashi
Powered by blists - more mailing lists