From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D4EB6FD0654 for ; Wed, 11 Mar 2026 08:05:08 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B34D810E3A3; Wed, 11 Mar 2026 08:04:40 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; secure) header.d=pm.me header.i=@pm.me header.b="qnXHBB31"; dkim-atps=neutral X-Greylist: delayed 17806 seconds by postgrey-1.36 at gabe; Tue, 10 Mar 2026 11:38:36 UTC Received: from mail-244116.protonmail.ch (mail-244116.protonmail.ch [109.224.244.116]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4774E10E251 for ; Tue, 10 Mar 2026 11:38:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=protonmail3; t=1773142714; x=1773401914; bh=eICeDc0YioNGect4MGlHBciAuFdQz2A+NxiWqF39LlQ=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=qnXHBB31ce0nFbc7qrbMu4/OX7OSBLDpRAclrJ4JhxgYqkwI411GD/LLUXgZocrut RoxlidwtcbDyt0DEyWaXS2GvL5586p1c+0PenI4O5RqIMa1hNg0hFUp20S2t3nPtMF 0Nl9gOcj9r5P+3FjUl64WV7MrzSJLAsDZbGx13E6RkHHanynsO9V9Xx6MJcrYztfVt C6SqWOHQP01PLQuBFCZKkigJtN7S9F0ei/zvGbq06Pqz5DLC5As636n+YPdnU7ojW4 mjV55IL7vF9rQTYSlp0bx8xflPnCjjrAzs79G5FlZGeF7gIbg9qIZ53aidFN8R13sY h6n66YlSxeDRA== Date: Tue, 10 Mar 2026 11:38:29 +0000 To: Ferenc Bakonyi , Helge Deller From: Hardik Phalet Cc: Shuah Khan , Brigham Campbell , Thomas Zimmermann , linux-nvidia@lists.surfsouth.com, linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Hardik Phalet Subject: [PATCH v2] fbdev/hga: Request memory region before ioremap Message-ID: <20260310113810.789575-1-hardik.phalet@pm.me> Feedback-ID: 166659585:user:proton X-Pm-Message-ID: db1d6e9f0552cbd8316b5eb5945ca5b1bc7bbb69 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Wed, 11 Mar 2026 08:04:38 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The driver calls ioremap() on the HGA video memory at 0xb0000 without first reserving the physical address range. This leaves the kernel resource tree incomplete and can cause silent conflicts with other drivers claiming the same range. Add a devm_request_mem_region() call before ioremap() in hga_card_detect() to reserve the memory region. Signed-off-by: Hardik Phalet --- Changes in v2: - Used devm_request_mem_region instead of request_mem_region, based on a =09review comment by Thomas [1]. v1: https://lore.kernel.org/all/20260310064124.602848-1-hardik.phalet@pm.me= / [1]: https://lore.kernel.org/all/5f9749ba-18a8-4b6b-a6e7-a011a3871bfb@suse.= de/ drivers/video/fbdev/hgafb.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/hgafb.c b/drivers/video/fbdev/hgafb.c index 14418aa3791a..fffd34141f8d 100644 --- a/drivers/video/fbdev/hgafb.c +++ b/drivers/video/fbdev/hgafb.c @@ -276,7 +276,7 @@ static void hga_blank(int blank_mode) =09spin_unlock_irqrestore(&hga_reg_lock, flags); } =20 -static int hga_card_detect(void) +static int hga_card_detect(struct platform_device *pdev) { =09int count =3D 0; =09void __iomem *p, *q; @@ -284,6 +284,11 @@ static int hga_card_detect(void) =20 =09hga_vram_len =3D 0x08000; =20 +=09if (!devm_request_mem_region(&pdev->dev, 0xb0000, hga_vram_len, "hgafb"= )) { +=09=09pr_err("hgafb: cannot reserve video memory at 0xb0000\n"); +=09=09return -EBUSY; +=09} + =09hga_vram =3D ioremap(0xb0000, hga_vram_len); =09if (!hga_vram) =09=09return -ENOMEM; @@ -568,7 +573,7 @@ static int hgafb_probe(struct platform_device *pdev) =09struct fb_info *info; =09int ret; =20 -=09ret =3D hga_card_detect(); +=09ret =3D hga_card_detect(pdev); =09if (ret) =09=09return ret; =20 --=20 2.53.0