From nobody Mon Feb 9 13:57:44 2026 Received: from mail-pg1-f228.google.com (mail-pg1-f228.google.com [209.85.215.228]) (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 BCC9D30FC10 for ; Mon, 29 Dec 2025 21:59:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.228 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767045581; cv=none; b=YN+YFcuazvdTTlOlzNh8nt75CZGNjSJ2E/50JQJzirs+LLHIx43p//t2ruJuKL+hPhr775EKi4fqLvpDB4mxieLhHlOQjA0m6zk1XfxwsdHkhMGcQH9Vw5t1sHx/Z/yWOV4LZVGJ4aWTfcxxVIRIi+e6JX4f3PIP58qQE7Vl+HQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767045581; c=relaxed/simple; bh=14BzrAPMdaZveOZ7P0/uVmqlAtSWKTfkmTiCHG3Aaw0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Dp/RvI0zVQUuOt01YylMQm9R1wjcNLdeHA/GWWs75jtS3v1qKs3DnejCkpVM7VEj7M1IYX0AHs6kvY/BJ4leW7ZmiIz90TuF7h7uA7UaLHc4aCwz+DmH4h37U57o34iBiwgxTOO2KXQ9dZMao8G9ldWlBbVAq2SKR7adx1n31co= 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=OGVQE64w; arc=none smtp.client-ip=209.85.215.228 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="OGVQE64w" Received: by mail-pg1-f228.google.com with SMTP id 41be03b00d2f7-bc17d39ccd2so5801235a12.3 for ; Mon, 29 Dec 2025 13:59:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767045579; x=1767650379; 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=khRhfUyS2wSCnelTC2k3Mez3rZkjvkbZG4nf8+8nWDY=; b=B4No1dUh8YE/HGtDnUepgwPv5JpU/vqoHow6ICJq/pyLe9HS/4uI9iRniY1OkcEtzC nZ+VIUyjRG5pkTfPW2BojoQl3l6GX71yeSFsYdA8uG/x3umIdIXoMjweslEqzHd9SwNX wsAtLhIIlZBFwOck6qhn1DT3m0HKJl+M/WWtZh7swgoZS4/XAqz5d9NEZoJt/tB+ucM2 KXmaara16jEAJ9HDBVQu69GtPhYRbTG09qbANpCGG1mrWVBAh3glQMAAhQqYUWwur9ON qOC8yGChxbezK+QPp59n6FaDrV4KnikNUPgRykQ68/F4Zq8UhnEcuQk1Rk+BnT+IGsXl lVyQ== X-Forwarded-Encrypted: i=1; AJvYcCWdnAN7Ow+DrU8FHVCMYgoelHmUvcjwKH3yO9pCdfTvaSqXpHD5AFZ3I5cf2MjmEfETXOx0OkH9EdqCe74=@vger.kernel.org X-Gm-Message-State: AOJu0YyHPpTv5Bda3AqRxivTRG1xroAcgLhmTClSl4JW/m111AftsNXQ b0MC7DdoQQddUTnlBuT5t/YazhHLnbUVw47PZ7penoZ/91h+Vd273NTmZbkGHjxFVVxYs9BLkFA Cr7Y+QQNWM80Tplos0z0C9idGHhcBfm0EkYaHpbmzjGKzUeDhb8wUmXDZW1j6ek7yWk9Y5IMTl9 qlCdoqSg9/46gSM9wG7ou0LzsL8CSWglI9dNXvMO4gmgaCd+AcFreqqjqKvX6UTIonVmLX9I7uK rTBdFcPdrGhOToq X-Gm-Gg: AY/fxX6sdPr/Djm4J5Td9dIM8Bau67X9Xs7IN/1O0wG7rSu9AGyXgALPY5aHInaNWhh uWHz3IeUKpmU8fxPG8D2blaXPjo3ymI97y4iktOV2jY3tYWr8/d9jwHjmnR+lGhHbWsZL1/eW3s MKdid4ijkXyhptViSxtAGVyhz/hIM2DIhR02DQOIxOW8e9yLgopPkkYR3nLwG+7OHkqrBm0focu wUuup474CAZr+31l45N5LkJKifUIxCrmsP9P9D2iIORlmq7/IACtBCZwGaWwcV4/7PFfrE4tEFz LpI/I5fYdGFizXA6Qx5uB39OtE1EtmzYrFdyMMFTprN64pawAPi6DI8dTREoqidlMysEYTzR4uk KtW2f7XnTxn6BC44LFzLw/L3Rub38T8MemEywK16YAxRDyScIyUsIDk4s6n2aFku0Ey2ICQRXLB RcxoOnmhMhjIDQhbu6+D6VSiohyk+rijTt2lD2aEagd/vd X-Google-Smtp-Source: AGHT+IGjded6AAinraonUc9glAvw82Nox8wYVrpTxTixiSh2rKKLi9KCoDnVI5txHrvhm7/fUtUOKYd2yMRF X-Received: by 2002:a05:7022:ef18:b0:11b:9386:a389 with SMTP id a92af1059eb24-121722fc6bdmr23633983c88.44.1767045578898; Mon, 29 Dec 2025 13:59:38 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-101.dlp.protect.broadcom.com. [144.49.247.101]) by smtp-relay.gmail.com with ESMTPS id a92af1059eb24-121724cbe73sm6412243c88.1.2025.12.29.13.59.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Dec 2025 13:59:38 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8887c0d3074so242816986d6.2 for ; Mon, 29 Dec 2025 13:59:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1767045576; x=1767650376; 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=khRhfUyS2wSCnelTC2k3Mez3rZkjvkbZG4nf8+8nWDY=; b=OGVQE64wiqbs6i/htXrQ/neDav+d8kqvYZMV3ptsLXTREy2tn5pN1vlIr7qaTdmnSP jjuoD8uExKJO7hyhfwWlV3w5O14y1YJnAnIqVE3ncfPT5E4xLgJ8llCTe5ZrZWqN69/p EOl1miPUxO4z/NrKeQnU7Jb8VuvLdmZqlxhdI= X-Forwarded-Encrypted: i=1; AJvYcCXwDYCHmcmKVu9kJGNOMy+DrdbXX3GnKPPQQPnGIqTk4LEXb+kQjdi3i+NxSY/ak4GYH7vWghTVceBVNY4=@vger.kernel.org X-Received: by 2002:a0c:e98f:0:b0:888:7e02:50c4 with SMTP id 6a1803df08f44-88d820415e9mr358861286d6.24.1767045576013; Mon, 29 Dec 2025 13:59:36 -0800 (PST) X-Received: by 2002:a0c:e98f:0:b0:888:7e02:50c4 with SMTP id 6a1803df08f44-88d820415e9mr358861126d6.24.1767045575654; Mon, 29 Dec 2025 13:59:35 -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.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Dec 2025 13:59:32 -0800 (PST) From: Zack Rusin To: dri-devel@lists.freedesktop.org Cc: Hans de Goede , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , linux-kernel@vger.kernel.org Subject: [PATCH 08/12] drm/vboxvideo: Use devm aperture helpers for sysfb restore on probe failure Date: Mon, 29 Dec 2025 16:58:14 -0500 Message-ID: <20251229215906.3688205-9-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 vboxvideo driver fails to probe after removing the firmware framebuffer. Signed-off-by: Zack Rusin Cc: Hans de Goede Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Thomas Zimmermann Cc: David Airlie Cc: Simona Vetter Cc: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org --- drivers/gpu/drm/vboxvideo/vbox_drv.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vboxvideo/vbox_drv.c b/drivers/gpu/drm/vboxvid= eo/vbox_drv.c index bb861f0a0a31..569fd7b60115 100644 --- a/drivers/gpu/drm/vboxvideo/vbox_drv.c +++ b/drivers/gpu/drm/vboxvideo/vbox_drv.c @@ -46,7 +46,12 @@ static int vbox_pci_probe(struct pci_dev *pdev, const st= ruct pci_device_id *ent) if (!vbox_check_supported(VBE_DISPI_ID_HGSMI)) return -ENODEV; =20 - ret =3D aperture_remove_conflicting_pci_devices(pdev, 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, driver.name); if (ret) return ret; =20 @@ -84,6 +89,12 @@ static int vbox_pci_probe(struct pci_dev *pdev, const st= ruct pci_device_id *ent) =20 drm_client_setup(&vbox->ddev, NULL); =20 + /* + * 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 err_irq_fini: --=20 2.48.1