From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A6CF5435523 for ; Wed, 12 Aug 2026 11:20:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786533656; cv=none; b=cOswCZ7F7jRsomHw6sy96ESptObRT6cmgnlf4g/vqZA3dH1Cu9RUtXJ26mVEI6rXcs6ioXcD032YWFXDul+qR1p/DtJNUfQcT8zYCAI17p/MCHQEbjCvWuppdhvUnk6yJYLIUIuTFTTVxWpSQkQQ2LS5sKXa6rXQabzMssRudDQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786533656; c=relaxed/simple; bh=UcFLOmXzIP0Dx04MjRqGimlzwiQeIWcaZfmLVU3HySc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=awG+DIf38kUBxozgQz2bjhhSpuD80IIrx1ytyx+5gq61B0V1dRY3oitbkeK7saoYr8rWLYmKfrZWiSBd8tey40acBmuwn9VpvQxBOA7pZA+hw5fhhYIh1ObB0hfeZlEOsiW68CZeIxXW8CCuk/pke1uIuRUKqdY5r/c3wMg4lko= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LTKnLAn/; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LTKnLAn/" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2cca0c5799eso11002895ad.0 for ; Wed, 12 Aug 2026 04:20:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786533655; x=1787138455; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=CbzzHBH8DpqZehMLNcK23Xh4Yld6J3JsAmwo9QAsqAM=; b=LTKnLAn/UPQ5oiotFHAdF0PFcP1oQSB5lZImOWgvx+Hpy25tKcwt9s3bgscVeJ0G4M mfTQiWEM6hEa0n5FuYR+ZSwCsSOwZ+tSLTcrVAtvvJB//eCe+vqpjyNKxtUIpkZwY8OW N9h2b4bVM4EI01DK0L9ZWLVhs3svplkMKbyWD7Rs5C0JFZK1L6wXGzfsydjSFFQMks5t EnpAPqMbwzQ3q6yDDsQQVin1BY1q78NaAmv7DUW+U/XmYdSFRNT1U5p0YJ2SiadfWytL e3cRRQPvwOYr8TVf2xAydEoc2iGbLyJgVj8jvy6LOklDo8fSxk6EgXetkUUqPxBQGvbI c0Ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786533655; x=1787138455; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=CbzzHBH8DpqZehMLNcK23Xh4Yld6J3JsAmwo9QAsqAM=; b=hjfeLp8vkdQyBuHgFN4AVMoRGDZg4NQa6Kdd02FqGIpJLRu9+0XemQx4TnYOtumvtx rEQXCRQ2bwC9gKOI/26FnllYkWr9sbnkt15coX4LVgGcLyHdlBeG09arZ/FdK4x8Db2H 7YFCKHhqEoZUm2JSvnsKwPhc6aEwsnV8kj1h8tu8KsAlmGbq7oVw4rvhzgg5TrEKNBJ3 miRl6xg2Mh1f9sHUZCJ8uH5d4EQPEbl4Vyf7dItc6xSmwmK/8BdKnBuUErsXmmG37Syi GNaEV8K4B+IjLNp7Ds1iEDMF4TmL6jWtQPAKr4QQ0UHypVs3oCCWBKL2ZOTlEfA81UgB 1kyA== X-Gm-Message-State: AOJu0YyezXc08RXCR8lKkizVu/1NZUzI7rsMbS0pCf6lvjN430/+rdPS UCK7dGRFvikaH7NuB9rTUnUh08tekr9niAQARe2GgZus2wBzexkvgCZg X-Gm-Gg: AR+sD11ntmaSd59gg4GBeRnwkYMlMOLjlf9c/rrWi0FQYtFTdJCwfmZZyhXuSzIR683 xnwIHyhZmbQCyGw0O7EAywOfRcGuVUF4B7GZeSUnwsN5YcC4qdt5CDhMZX46ZTaVANtMPw+FbWX C8+cHazIfjkIRBY/uEhJBJOko3aChN3nNzoYAe5IsJGcY73Da9wS4s6xepprhMmrRW0huEmi4Jp HLAGKTBIV2WYRb3g7HfMiQ8FuNceGUg9qIs4tSTNnIE/P2cZflm8Y8AmudMznoSGTH0b8FAi2il 81+rxl94BvU8Y08wa5DyWwVXoF5j5/bIhUA8TijSirw+HUUba0RktiTG0CtJzf4ZbvBgUP4sRm7 A+5e9OOg5YyBynPzd4IxSw6egUvyDhy8oWjlmW84imFQuqnEilltGX8cClpejoYRRkr6NO36lQv yHBma8zYl0l9NK6XoWg35Aq2xcUjn+XcJokLCI+fAklZNhwI6UTcQbOqI+tyoY7WIp0kZgwkCgs bVdTQemAWErF3JWVV1AIMubYagfADbqxwQwHIEOdG3H+gy/tC7bFEu5IUmyRkvTiZzw1fx6SHkG MOvW X-Received: by 2002:a17:90b:1dca:b0:366:10f1:3d91 with SMTP id 98e67ed59e1d1-3930123d0c3mr4872172a91.1.1786533654838; Wed, 12 Aug 2026 04:20:54 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-392f935f5ecsm3193765a91.5.2026.08.12.04.20.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 04:20:54 -0700 (PDT) From: phucduc.bui@gmail.com To: Ulf Hansson , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Jisheng Zhang , Stepan Ionichev , Colin Ian King , Pedro Demarchi Gomes , Osama Abdelkader , linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org Cc: linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 2/3] mmc: davinci: Handle errors from optional IRQ lookup Date: Wed, 12 Aug 2026 18:20:22 +0700 Message-ID: <20260812112023.42254-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812112023.42254-1-phucduc.bui@gmail.com> References: <20260812112023.42254-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: bui duc phuc platform_get_irq_optional() returns a positive IRQ number on success or a negative error code on failure. For an optional IRQ, -ENXIO indicates that no optional IRQ is available. Other errors, such as -EPROBE_DEFER and -EINVAL, should be propagated so that the caller can handle them appropriately. However, the driver currently stores the return value directly in host->sdio_irq and continues probing. Propagate negative errors other than -ENXIO, and only assign the IRQ to host->sdio_irq when a valid IRQ number is returned. Signed-off-by: bui duc phuc --- drivers/mmc/host/davinci_mmc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c index cdb9fa94b56d..4765d2dee599 100644 --- a/drivers/mmc/host/davinci_mmc.c +++ b/drivers/mmc/host/davinci_mmc.c @@ -1248,7 +1248,11 @@ static int davinci_mmcsd_probe(struct platform_device *pdev) host->use_dma = use_dma; host->mmc_irq = irq; - host->sdio_irq = platform_get_irq_optional(pdev, 1); + ret = platform_get_irq_optional(pdev, 1); + if (ret < 0 && ret != -ENXIO) + return ret; + if (ret > 0) + host->sdio_irq = ret; if (host->use_dma) { ret = davinci_acquire_dma_channels(host); -- 2.43.0