{"id":2197770,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2197770/?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":"<20260218134633.461181-2-Simon.Richter@hogyros.de>","date":"2026-02-18T13:46:29","name":"[v2,1/5] vgaarb: pass vga_get errors to userspace","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"41b7dd3fb9178a3aef35156237df0bd51892ac4d","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/20260218134633.461181-2-Simon.Richter@hogyros.de/mbox/","series":[{"id":492553,"url":"http://patchwork.ozlabs.org/api/1.0/series/492553/?format=json","date":"2026-02-18T13:46:28","name":"Bridges without VGA support","version":2,"mbox":"http://patchwork.ozlabs.org/series/492553/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2197770/checks/","tags":{},"headers":{"Return-Path":"\n <linux-pci+bounces-47563-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=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-47563-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 tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fGHqx11p6z1xvq\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 19 Feb 2026 00:47:09 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 4CDDA300E62E\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 18 Feb 2026 13:47:05 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 43DEE28B4FA;\n\tWed, 18 Feb 2026 13:47:02 +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 9CD4530DEAD\n\tfor <linux-pci@vger.kernel.org>; Wed, 18 Feb 2026 13:47:00 +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 6444E3F204;\n\tWed, 18 Feb 2026 14:46:57 +0100 (CET)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771422422; cv=none;\n b=VqaJIL7gqrmDvnIZaQ91LwKRrTLdzcqFBrdxA9Y0OX8kAnHKeG5hEz9YcdHW+Iaa3TGZYNMyWY7jPjElfig00wkYHLsH5Vo783dUSGVS3S3LhmPcFCHHXVz4t5bi2VDA7oybwuWbuu+SHPKjGd2/csC34ytL5xZ+U6qpgFJMIyo=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771422422; c=relaxed/simple;\n\tbh=iSoAiMvsfsvlb8ZCKDj248SOfZRVThWbXB4j9hUpcl0=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=ihSt6dMPPqiXgtqstDakzCnTduxOQmmcJGAIJCc4nyzvIUsPW8Pi2EIEVXjMVqH0f6tPOBMiA950qt3C1598Ov/GODRcjms4R8MK5qAIKkJ0Nbpm8PMMeFrFCg9NJPnbU2hUO/sdyk+bQJ9iUdY7rM9qdKEEV0WjwHFkTxOV1xQ=","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 v2 1/5] vgaarb: pass vga_get errors to userspace","Date":"Wed, 18 Feb 2026 22:46:29 +0900","Message-ID":"<20260218134633.461181-2-Simon.Richter@hogyros.de>","X-Mailer":"git-send-email 2.47.3","In-Reply-To":"<20260218134633.461181-1-Simon.Richter@hogyros.de>","References":"<20260217170419.236739-1-Simon.Richter@hogyros.de>\n <20260218134633.461181-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":"If vga_get fails, return the error code via the write syscall.\n\nSigned-off-by: Simon Richter <Simon.Richter@hogyros.de>\n---\n drivers/pci/vgaarb.c | 7 ++++++-\n 1 file changed, 6 insertions(+), 1 deletion(-)","diff":"diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c\nindex 87143e235033..188885d30d41 100644\n--- a/drivers/pci/vgaarb.c\n+++ b/drivers/pci/vgaarb.c\n@@ -1134,6 +1134,7 @@ static ssize_t vga_arb_write(struct file *file, const char __user *buf,\n \tchar kbuf[64], *curr_pos;\n \tsize_t remaining = count;\n \n+\tint err;\n \tint ret_val;\n \tint i;\n \n@@ -1165,7 +1166,11 @@ static ssize_t vga_arb_write(struct file *file, const char __user *buf,\n \t\t\tgoto done;\n \t\t}\n \n-\t\tvga_get_uninterruptible(pdev, io_state);\n+\t\terr = vga_get_uninterruptible(pdev, io_state);\n+\t\tif (unlikely(err)) {\n+\t\t\tret_val = err;\n+\t\t\tgoto done;\n+\t\t}\n \n \t\t/* Update the client's locks lists */\n \t\tfor (i = 0; i < MAX_USER_CARDS; i++) {\n","prefixes":["v2","1/5"]}