From nobody Mon Feb 9 14:32:52 2026 Received: from mail-pf1-f226.google.com (mail-pf1-f226.google.com [209.85.210.226]) (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 A03A330FC1E for ; Mon, 29 Dec 2025 21:59:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.226 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767045578; cv=none; b=Lgqt549qi3nQ+wNpSxRHZb/VToNDhnTDR7AfR1SDKtAbwxEsPdmudC8phDkxcTMK38dxXgSG7KkV8oeDxqsNL/QxNwgYXUQXmCy1g7BAt8Q8XeVqhW5XvH0lQA+PZ4DhEXCiYqkEhAL4eVf0Id/ZIw/ZGbXKUJ6T+bax0SukmC4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767045578; c=relaxed/simple; bh=abKkcSFLS+5JdHy2nWvYoeZMh7bXqKH5PJjyGl/Xk3g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=u8jxiuIrotjaPuezJ9zdlvJQXfA9VizI7plV9+0c+wNFSnoo5w10oqByR+YIfCQ7wXk0ISRnqzL3HadxU73VvJ+lPrDoXmu4ULTq3Fh5+9Jp0biXfD2Ymbq3jSP/jI5GmH5FBJVd5eBQxI+tf8uwYxfrTUj+Iinje4ANNQBWFPQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=hQB/9fDy; arc=none smtp.client-ip=209.85.210.226 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="hQB/9fDy" Received: by mail-pf1-f226.google.com with SMTP id d2e1a72fcca58-7bc248dc16aso7444965b3a.0 for ; Mon, 29 Dec 2025 13:59:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767045576; x=1767650376; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=huMey1yvlTcl9trBYSLi6aENqnLSe9ecqic2n3VA9bs=; b=GfOIg11UEtTrVA7kCQx9pYEijHlpHV0EMbupWkyZXVSKisR5mYdHg8tGqLlKZD9t/n thb3+aF+wtZB2L0rzpBNus/m8IE+0DXTGH2I2A5HIWTdB53jn6FtCutnHruGzWWT9R21 4D21P2J3VDktvh6xj2NwCp4s5xXMxkV7t9lLxS3HUDRV3W5pJBcgiTvwbcuce+ZedKPY PLkketEAaOq/Ya7lagcYQ/kyziYoYx6ar0AEDyYRlmddUpsRQNcDsSuBmmJU2K+TtgzZ HVv/7UDAYbTGrCQ80Xcfd7Uf+b6xzNsS0kgeMTxVUKYOuKNugKM1+XjyetS+cX2Nzlzg 42Nw== X-Forwarded-Encrypted: i=1; AJvYcCVy+iLzZYlrutD6CjAjJFjbRWvtvGwksI8Kx6IOvcjDb0WYH6EOmM6x6L9DdP3Q4buV1muV4348bnKiQ08=@vger.kernel.org X-Gm-Message-State: AOJu0YwGd0MTDfgSy/kl7u/5vgeO9Ge+8/+/QsBISKsna+/gxJeRUEwm pJLwpRUsDPBiJGpqj5xwQZ5Hz2FbT3nRiW8Q+x37qQMSxb6rAex007HX/3Y9mPu7+Wy4/Vd7wl5 kgd79CnJZ1KD/6+h3nA0K1rcMCNuqsoPHpjvWdppWHIBlr9z76FxWw0MIwfwFYtXN0WGgQm0oNT Ifb6NI9ZcKUo43aUQvZ2DT33fcf1NcnKX0kLRnSVysVSXykeLgO4UhGkgtHXZm6uV7GKtsxtArO +sXQDAYiMHoXyyL X-Gm-Gg: AY/fxX7tNG+3KqSJfJ3tWA0dNn38Wf0UAIEVvpXaUixP3msv1AQ132c3oCGI0F5A5Td vAhaKt1wVC/M7CFafrPHc2PytYdrtTZZTsQkHWx+0G04zjAsmIpNUZmrMV6dvS7wylQl1hWJ7mz 13J9jBUcGyG3kysQv8axebMHJO3Ekpw4hQQiC8eEBCoF57aT/iFKFVzHw6YMYF7e4rlAZIG3Vut H4cHZtU5j92/FVagHJtN8kyAhmOrAJMi4r0ghvitfgP/35/INWTtbnahuMu1ywKx1Usr89GIZx1 G7XQwegCuslrRyoZSAomWPBGFUfFvVnL6yb+076w1s1mtBkfnSRtsEWFJwCRfvR7Rw1t1q5lQSf FoAp0SRE2t1FDynPYnareBBaaV8Libyj/p8cf3NAA2bsMmgW2Ydqv3RB+/1Ly9lHnzyLWpw8RDG mMO0nR33K7DMGORBjRlEBw1+Jawy2jgZSlfd7ABuI= X-Google-Smtp-Source: AGHT+IFbtENftEP14NRM7NJHZsftIcNe9+v4a4k8849GDd5ygcT5cytd4jRdsIYEoDylNhpAEP7/OkJGW4o7 X-Received: by 2002:a05:6a00:a885:b0:7f7:532a:e44b with SMTP id d2e1a72fcca58-7ff65f78a13mr26969093b3a.41.1767045575851; Mon, 29 Dec 2025 13:59:35 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-2.dlp.protect.broadcom.com. [144.49.247.2]) by smtp-relay.gmail.com with ESMTPS id d2e1a72fcca58-7ff7ab31a6dsm3622205b3a.2.2025.12.29.13.59.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Dec 2025 13:59:35 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4eff973c491so235890031cf.1 for ; Mon, 29 Dec 2025 13:59:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1767045572; x=1767650372; 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; bh=huMey1yvlTcl9trBYSLi6aENqnLSe9ecqic2n3VA9bs=; b=hQB/9fDyHb6utdVaFP5s96ANp+QSkj7UtMMn6zS/iVGZVV2eu4Du3jJVOu+54F1Pa6 FQ78NvwrZELVvyMcd5GBjD24useZNEHXKGicnWh8YpVoLxbEgqWXm144S4t/kjxJeDjH 6lEHW5qQLzj1cfj1bWhTVo/2AGEouOQS8IEpc= X-Forwarded-Encrypted: i=1; AJvYcCUHF76lQLwN5Imz/i75ql7dKuVqmDpLGwRyhiAzd22AFceD5Y5Op4AqhEklLi2FMF/v/vtddBSwI082fuA=@vger.kernel.org X-Received: by 2002:a05:622a:120e:b0:4ed:1bba:f935 with SMTP id d75a77b69052e-4f4abdb2f22mr498101411cf.57.1767045572389; Mon, 29 Dec 2025 13:59:32 -0800 (PST) X-Received: by 2002:a05:622a:120e:b0:4ed:1bba:f935 with SMTP id d75a77b69052e-4f4abdb2f22mr498101101cf.57.1767045571961; Mon, 29 Dec 2025 13:59:31 -0800 (PST) Received: from localhost.localdomain (pool-173-49-113-140.phlapa.fios.verizon.net. [173.49.113.140]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88d9759f164sm231530026d6.24.2025.12.29.13.59.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Dec 2025 13:59:29 -0800 (PST) From: Zack Rusin To: dri-devel@lists.freedesktop.org Cc: Dave Airlie , Gerd Hoffmann , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , virtualization@lists.linux.dev, spice-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 07/12] drm/qxl: Use devm aperture helpers for sysfb restore on probe failure Date: Mon, 29 Dec 2025 16:58:13 -0500 Message-ID: <20251229215906.3688205-8-zack.rusin@broadcom.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251229215906.3688205-1-zack.rusin@broadcom.com> References: <20251229215906.3688205-1-zack.rusin@broadcom.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e Content-Type: text/plain; charset="utf-8" Use devm_aperture_remove_conflicting_pci_devices() instead of the non-devm variant to automatically restore the system framebuffer (efifb/simpledrm) if the driver's probe fails after removing the firmware framebuffer. Call devm_aperture_remove_conflicting_pci_devices_done() after successful probe to cancel the automatic restore, as the driver is now responsible for display output. This ensures users don't lose display output if the qxl driver fails to probe after removing the firmware framebuffer. Signed-off-by: Zack Rusin Cc: Dave Airlie Cc: Gerd Hoffmann Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Thomas Zimmermann Cc: David Airlie Cc: Simona Vetter Cc: virtualization@lists.linux.dev Cc: spice-devel@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org --- drivers/gpu/drm/qxl/qxl_drv.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index 2bbb1168a3ff..ca4c817fd611 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.c +++ b/drivers/gpu/drm/qxl/qxl_drv.c @@ -93,7 +93,12 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_dev= ice_id *ent) if (ret) return ret; =20 - ret =3D aperture_remove_conflicting_pci_devices(pdev, qxl_driver.name); + /* + * Use devm variant to automatically restore sysfb if probe fails. + * This ensures the user doesn't lose display if our probe fails + * after removing the firmware framebuffer (efifb/simpledrm). + */ + ret =3D devm_aperture_remove_conflicting_pci_devices(pdev, qxl_driver.nam= e); if (ret) goto disable_pci; =20 @@ -121,6 +126,13 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_d= evice_id *ent) goto modeset_cleanup; =20 drm_client_setup(&qdev->ddev, NULL); + + /* + * Probe succeeded - cancel the automatic sysfb restore action. + * We're now responsible for display output. + */ + devm_aperture_remove_conflicting_pci_devices_done(pdev); + return 0; =20 modeset_cleanup: --=20 2.48.1