Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp5794825pxv; Wed, 7 Jul 2021 11:54:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzC7e9Nm5dS+99J8faNTF7SP5rU3GfZWoSWM4I88d2+SKeB0u+KfzPi2QGzAIdQMHpFAY21 X-Received: by 2002:a17:906:4f14:: with SMTP id t20mr185605eju.12.1625684058769; Wed, 07 Jul 2021 11:54:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625684058; cv=none; d=google.com; s=arc-20160816; b=nnCxKiuooJ2MThLD81JlIxcXjy4QjYkbVZuoO0VmTM25ZgCeRHN3mjsxnnV5HBxBCE MVo0hZj/o0rhSaW4cUcUP6aSM9mGE0WiHB/cn7teXDWYDZAwEz/8gI4Rmu/w+mQg/Rf2 NDoLEKyED1NTKjfMP6SJKqT7KKt4OIo1Vu6p1KYfSeMzTm6qJ0wu2onzHOHm70GSMd1n FdulV4AHCJb4AD+oAJ1Mtds10CCnBx4MOx72auVvSxKhI0xe934fkY1ZyeQkXOCfHAhl l+Q30ZIjBTT/IU6w+k6BvsJ4jsj2jUonh3Q9g/Fm2838sGAdUY+DjnO/oh5VCZxcXcP7 Gmgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=OIkLwkBAX13D9qppUWtPCZH/Qq7ZqIfNxEiM6945sQ8=; b=m65kLEMPfrAp9ngJSRtBrPsCEKCqzIBj+i5HZ3GD0l4mu+ah/sdlIVvVcvGgW5pOZk VXd1q1nrvTm6zzt2YRPpbz547MSyhybDalhv9oOZGGa2INegroh4B+BDxTMPRuMzfj6Z A7f1dlnANyNLbT68c0lU7yzdyVq8j736D65rRVIWquFacNFMHWOEsS3lUHbaSg8i1+Eo sM+nDav1VARy32WXBDe2NZ8rsY883oQ+ubMIFhIgrwBht+icU4Eii+TMLlG2VnzBy3+h 9AJQIYKgEkyAth2PpMhSmYoaXn5kYfAP4hGKfN+W7AKZL4eQrjcOcSwlGP0t2aKFUTYc SQOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tnlVHHbZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q13si18398514ejd.76.2021.07.07.11.53.55; Wed, 07 Jul 2021 11:54:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tnlVHHbZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230514AbhGGRxC (ORCPT + 99 others); Wed, 7 Jul 2021 13:53:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57526 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230242AbhGGRxB (ORCPT ); Wed, 7 Jul 2021 13:53:01 -0400 Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com [IPv6:2a00:1450:4864:20::632]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6D80AC061574 for ; Wed, 7 Jul 2021 10:50:20 -0700 (PDT) Received: by mail-ej1-x632.google.com with SMTP id he13so4588825ejc.11 for ; Wed, 07 Jul 2021 10:50:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OIkLwkBAX13D9qppUWtPCZH/Qq7ZqIfNxEiM6945sQ8=; b=tnlVHHbZs+0/Sb6fnbPDT9W/lEfr/Np1DpsPYVeiAgTYSuSutd8nvY7KCtHiRSOqGM RMuWP3mPFcEbSNQ92cZ6oq21YU73uL+catc/NKYxa3CNyPx+qlgzd+m9eQicVRNXcqY3 nmcsoHPJoDqlVnBNuZG06jqIzFMXpzQ3hXp7FJ5B2b/w2g3fg95v+ELFnMVy5VFCAdCK WRvmVi/XjkFInkn8CVTcFtxcTf7EzodIGVAcvEGPgRdN+B+BC8BvR4B9yGe45wpCsetn SkH+QD81NQBcHIX6EQmSDa9QIkg/eKJjqfbpxoiDFxow3pu/3YPy1jQdpOXcfAEvWFlL tIlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=OIkLwkBAX13D9qppUWtPCZH/Qq7ZqIfNxEiM6945sQ8=; b=cVLJXKG6fOmm6namzuGBIeYGmo8MQ6mAD+dIrSDTaPONlf7ZQUn+AbxkAAyQwKbHfM cpNNLDPAfYdlpm84NEG/UeRe2mb5rZATJ3YcqSPalYAXZDD5vOmpqofohP4U1tUbOs0l CKx8EMYnMHoUKA5U2AagVCgSqvsN7ff6rVqSXcg7B0qJAKPnqfAuxk4vrXNjLfqfoXQa MiYY0+MEk9QOWrGUc1ckjrZn4Dcl423JSgflsCSFykTt/hQXUhP5dwsha+MvO5vGbTzZ DH/O6AxZvuzmtQLZryEcD6VX3Q+2sgVtDTzbiCGY/9cI0Vn6JzeQVCNbJG/DjGk4fd7G e90Q== X-Gm-Message-State: AOAM532QNandRkICF8IM/Hr+R/5cUnrYXsqaKmnLNOE2Pka/e2EcIf7T Q1KZnUdVHceu3yrfoS6fWBKLAuSBPcorVoq58yM= X-Received: by 2002:a17:906:e088:: with SMTP id gh8mr3389574ejb.125.1625680219108; Wed, 07 Jul 2021 10:50:19 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Max Filippov Date: Wed, 7 Jul 2021 10:50:07 -0700 Message-ID: Subject: Re: ALSA: intel8x0: div by zero in snd_intel8x0_update() To: Takashi Iwai Cc: Sergey Senozhatsky , alsa-devel@alsa-project.org, Leon Romanovsky , Takashi Iwai , LKML , "Gustavo A. R. Silva" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 7, 2021 at 12:02 AM Takashi Iwai wrote: > On Tue, 06 Jul 2021 19:50:08 +0200, Max Filippov wrote: > > linux v5.13 booting on qemu-system-xtensa virt board gets stuck inside > > snd_intel8x0_probe -> intel8x0_measure_ac97_clock with this patch. > > Prior to it it boots successfully for me. > > I'm curious if this issue has been reported yet. > > > > What I see is an IRQ flood, at some point snd_intel8x0_interrupt > > and timer ISR are called in loop and execution never returns to > > the interrupted function intel8x0_measure_ac97_clock. > > > > Any idea what it could be? > > That's something odd with the VM. As the chip itself has never shown > such a problem on real systems, maybe the best action would be to just > skip the clock measurement on VM. The measurement itself is > unreliable on VM, so it makes more sense. > > That said, something like below would work? It didn't change anything in my case. My further observation is that the snd_intel8x0_update is called before the ichdev->prepared is set to one and as a result IRQ is apparently never cleared. Perhaps because intel8x0_measure_ac97_clock is called from the snd_intel8x0_probe, well before the snd_intel8x0_pcm_prepare that sets ichdev->prepared is called. > thanks, > > Takashi > > --- > diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c > index 2d1bfbcba933..b75f832d7777 100644 > --- a/sound/pci/intel8x0.c > +++ b/sound/pci/intel8x0.c > @@ -2199,6 +2199,9 @@ static int snd_intel8x0_mixer(struct intel8x0 *chip, int ac97_clock, > pbus->private_free = snd_intel8x0_mixer_free_ac97_bus; > if (ac97_clock >= 8000 && ac97_clock <= 48000) > pbus->clock = ac97_clock; > + else if (chip->inside_vm) > + pbus->clock = 48000; > + > /* FIXME: my test board doesn't work well with VRA... */ > if (chip->device_type == DEVICE_ALI) > pbus->no_vra = 1; -- Thanks. -- Max