From nobody Fri Nov 7 19:58:19 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=126.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1548687376159262.8326980506665; Mon, 28 Jan 2019 06:56:16 -0800 (PST) Received: from localhost ([127.0.0.1]:60918 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1go7kt-0001EL-Os for importer@patchew.org; Mon, 28 Jan 2019 09:19:19 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40250) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1go7hd-0007Ta-NZ for qemu-devel@nongnu.org; Mon, 28 Jan 2019 09:15:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1go7hY-0007F4-NI for qemu-devel@nongnu.org; Mon, 28 Jan 2019 09:15:57 -0500 Received: from m15-113.126.com ([220.181.15.113]:49508) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1go7hT-00075H-41 for qemu-devel@nongnu.org; Mon, 28 Jan 2019 09:15:49 -0500 Received: from localhost.bytedance.net (unknown [220.243.134.156]) by smtp3 (Coremail) with SMTP id DcmowAC3b2NsDk9cbAzfBQ--.20895S6; Mon, 28 Jan 2019 22:15:11 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id; bh=RzLjFk8pq9Emh10TVM ybF/mYdXng5FZ5Ph/C1AJ/Qlw=; b=PQAx9CE5qmqfN+UugNhk3hPj5rFoaOXe6R MydS1KwvMQgYwUPeRwt4akv8NoKoQUghXWM46HSc+j29f+TnBk5yglu3XtT2gwJ0 ThQhsRacdFqDOPxzvtZ27Q4YALF97UC22rnYT4mtX25FP+lc/Rp/1HGwBEHPvlxX C0Zg1A+FA= From: Fei Li To: qemu-devel@nongnu.org, shirley17fei@gmail.com Date: Mon, 28 Jan 2019 22:14:47 +0800 Message-Id: <20190128141506.12731-5-lifei1214@126.com> X-Mailer: git-send-email 2.17.2 (Apple Git-113) In-Reply-To: <20190128141506.12731-1-lifei1214@126.com> References: <20190128141506.12731-1-lifei1214@126.com> X-CM-TRANSID: DcmowAC3b2NsDk9cbAzfBQ--.20895S6 X-Coremail-Antispam: 1Uf129KBjvJXoWrtw45CrWruF4rXFWxWFW3ZFb_yoW8JryUpF Z8G39xKr93JFs3ZrW7JayvvFy5Ga1rWF4UGr4xAw4fJw1DGa1YvryUG34I9FyxuFyYvFWr ZFWrJFy3Wa1qvrJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07j6v38UUUUU= X-Originating-IP: [220.243.134.156] X-CM-SenderInfo: 5olivxarsrkqqrswhudrp/1tbikQ9KIVpD76dp5wAAsq X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 220.181.15.113 Subject: [Qemu-devel] [PATCH for-4.0 04/11] qemu_thread: supplement error handling for pci_edu_realize X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jiri Slaby , Markus Armbruster , Peter Xu , "Dr . David Alan Gilbert" , Fei Li , Gerd Hoffmann , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Fei Li Utilize the existed errp to propagate the error and do the corresponding cleanup to replace the temporary &error_abort. Cc: Markus Armbruster Cc: Jiri Slaby Signed-off-by: Fei Li --- hw/misc/edu.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/hw/misc/edu.c b/hw/misc/edu.c index d3583c6141..42c429de9a 100644 --- a/hw/misc/edu.c +++ b/hw/misc/edu.c @@ -356,9 +356,14 @@ static void pci_edu_realize(PCIDevice *pdev, Error **e= rrp) =20 qemu_mutex_init(&edu->thr_mutex); qemu_cond_init(&edu->thr_cond); - /* TODO: let the further caller handle the error instead of abort() he= re */ - qemu_thread_create(&edu->thread, "edu", edu_fact_thread, - edu, QEMU_THREAD_JOINABLE, &error_abort); + if (qemu_thread_create(&edu->thread, "edu", edu_fact_thread, + edu, QEMU_THREAD_JOINABLE, errp) < 0) { + qemu_cond_destroy(&edu->thr_cond); + qemu_mutex_destroy(&edu->thr_mutex); + timer_del(&edu->dma_timer); + msi_uninit(pdev); + return; + } =20 memory_region_init_io(&edu->mmio, OBJECT(edu), &edu_mmio_ops, edu, "edu-mmio", 1 * MiB); --=20 2.17.2 (Apple Git-113)