{"id":2197343,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2197343/?format=json","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/1.0/projects/28/?format=json","name":"Linux PCI development","link_name":"linux-pci","list_id":"linux-pci.vger.kernel.org","list_email":"linux-pci@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260217170419.236739-3-Simon.Richter@hogyros.de>","date":"2026-02-17T17:04:16","name":"[2/5] vgaarb: pass errors from pci_set_vga_state up","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"369513fe1ab8a1b1dabf3f7529a8834f99f0ac12","submitter":{"id":91044,"url":"http://patchwork.ozlabs.org/api/1.0/people/91044/?format=json","name":"Simon Richter","email":"Simon.Richter@hogyros.de"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/20260217170419.236739-3-Simon.Richter@hogyros.de/mbox/","series":[{"id":492462,"url":"http://patchwork.ozlabs.org/api/1.0/series/492462/?format=json","date":"2026-02-17T17:04:19","name":"bridges without VGA support","version":1,"mbox":"http://patchwork.ozlabs.org/series/492462/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2197343/checks/","tags":{},"headers":{"Return-Path":"\n <linux-pci+bounces-47484-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-47484-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=185.187.169.70","smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=hogyros.de","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=hogyros.de"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fFmTZ3GD6z1xpl\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 18 Feb 2026 04:14:26 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 540BD30416CC\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 17:13:56 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 684E436F432;\n\tTue, 17 Feb 2026 17:13:55 +0000 (UTC)","from psionic.psi5.com (psionic.psi5.com [185.187.169.70])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id EB85C36EA87\n\tfor <linux-pci@vger.kernel.org>; Tue, 17 Feb 2026 17:13:53 +0000 (UTC)","from localhost.localdomain (unknown\n [IPv6:2400:2410:b120:f200:2e09:4dff:fe00:2e9])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(Client did not present a certificate)\n\tby psionic.psi5.com (Postfix) with ESMTPSA id 176873F206;\n\tTue, 17 Feb 2026 18:04:43 +0100 (CET)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771348435; cv=none;\n b=aQTwXUsKAVG+gMNg4k59S0845lA893gMDBfA/D5vNhCxJYoWqYmjyl+YGHrQ3UMSN0hjFGXtYtCrWmpqjEjDvSSVBjBn2Ihp9/dhGZVfKobvMPOx5eCZTpsGAkZLfrbsh01I8JYH8CYK8FTzkMgjDiF39H/RzHzUA9dfQDUgigo=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771348435; c=relaxed/simple;\n\tbh=Bf+iXS5qtGUfyIWOJ2MAQZv8mx92uIikrGuoa0RBZjU=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=U6Zn8+/KM3AdDj4iLSEl0ZHUDPJOElKNsOYIJ4LrNFeRBfPE9bZOHcL0E6UoYS4Q4ajehPCXL6lxVxAMx72KdLP2ZM3ZQ2tscWJyD00FMD3BNBpXIcnK5V+CwjDs6WiaEydnOBQRIiU5LmgRlOG79kOZNVVsj0XdUROEyP8IxTA=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=hogyros.de;\n spf=pass smtp.mailfrom=hogyros.de; arc=none smtp.client-ip=185.187.169.70","From":"Simon Richter <Simon.Richter@hogyros.de>","To":"linux-pci@vger.kernel.org","Cc":"intel-xe@lists.freedesktop.org,\n\tdri-devel@lists.freedesktop.org,\n\tSimon Richter <Simon.Richter@hogyros.de>","Subject":"[PATCH 2/5] vgaarb: pass errors from pci_set_vga_state up","Date":"Wed, 18 Feb 2026 02:04:16 +0900","Message-ID":"<20260217170419.236739-3-Simon.Richter@hogyros.de>","X-Mailer":"git-send-email 2.47.3","In-Reply-To":"<20260217170419.236739-1-Simon.Richter@hogyros.de>","References":"<20260217170419.236739-1-Simon.Richter@hogyros.de>","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"pci_set_vga_state returns an error code, which so far has been ignored. Pass\nthis code through __vga_tryget (via ERR_PTR).\n\nSigned-off-by: Simon Richter <Simon.Richter@hogyros.de>\n---\n drivers/pci/vgaarb.c | 14 ++++++++++++--\n 1 file changed, 12 insertions(+), 2 deletions(-)","diff":"diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c\nindex 5c2719cb1bfa..322c028539f0 100644\n--- a/drivers/pci/vgaarb.c\n+++ b/drivers/pci/vgaarb.c\n@@ -215,6 +215,7 @@ static struct vga_device *__vga_tryget(struct vga_device *vgadev,\n \tstruct vga_device *conflict;\n \tunsigned int pci_bits;\n \tu32 flags = 0;\n+\tint err = 0;\n \n \t/*\n \t * Account for \"normal\" resources to lock. If we decode the legacy,\n@@ -307,7 +308,9 @@ static struct vga_device *__vga_tryget(struct vga_device *vgadev,\n \t\tif (change_bridge)\n \t\t\tflags |= PCI_VGA_STATE_CHANGE_BRIDGE;\n \n-\t\tpci_set_vga_state(conflict->pdev, false, pci_bits, flags);\n+\t\terr = pci_set_vga_state(conflict->pdev, false, pci_bits, flags);\n+\t\tif (unlikely(err))\n+\t\t\treturn ERR_PTR(err);\n \t\tconflict->owns &= ~match;\n \n \t\t/* If we disabled normal decoding, reflect it in owns */\n@@ -337,7 +340,9 @@ static struct vga_device *__vga_tryget(struct vga_device *vgadev,\n \tif (wants & VGA_RSRC_LEGACY_MASK)\n \t\tflags |= PCI_VGA_STATE_CHANGE_BRIDGE;\n \n-\tpci_set_vga_state(vgadev->pdev, true, pci_bits, flags);\n+\terr = pci_set_vga_state(vgadev->pdev, true, pci_bits, flags);\n+\tif (unlikely(err))\n+\t\treturn ERR_PTR(err);\n \n \tvgadev->owns |= wants;\n lock_them:\n@@ -455,6 +460,11 @@ int vga_get(struct pci_dev *pdev, unsigned int rsrc, int interruptible)\n \t\t}\n \t\tconflict = __vga_tryget(vgadev, rsrc);\n \t\tspin_unlock_irqrestore(&vga_lock, flags);\n+\t\tif (IS_ERR(conflict))\n+\t\t{\n+\t\t\trc = PTR_ERR(conflict);\n+\t\t\tbreak;\n+\t\t}\n \t\tif (conflict == NULL)\n \t\t\tbreak;\n \n","prefixes":["2/5"]}