From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (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 A5FB078F2E for ; Sat, 28 Dec 2024 06:25:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735367150; cv=none; b=MEkns3iPrKtiOsGWGJcXNV+qcLeDV/EzSA6b0C4TlCzqfXTVvmrjtS0K+pswTL9UXb4MIpLN4qzRCDesu8azHFzUmVD5BbEcD1a4FNgoL4OxNf6EtHSvcXpRPuVyJ2HcBWBeSRqg4P/SQgwlIbJ7mPMjm8980qhjgXFqSTmv9J8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735367150; c=relaxed/simple; bh=Nq61v8RMzyneNeymEZ1NLFy0QiAXyCgfX0BhdnsRW6E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kVvftWTU7AsguUgqpeJDjtx3/LONoIO4wsAhy4uIRhHJX50SX47ji5Er5TwhCj+uugEUOQGi9k+eATMz30p59OZSn+mX64reBjzCVDbW4Wo3N43EyESU4IMyHJIjjYGy6/VX2l8IHw6HifrUQCjz1AkZFXbIaw3N+fOph+gueG0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EDB3rIRz; arc=none smtp.client-ip=209.85.216.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EDB3rIRz" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-2efdaa02378so1545565a91.1 for ; Fri, 27 Dec 2024 22:25:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1735367148; x=1735971948; 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=wGrBqX+xpxpxBlqNE5E6JAoQcVz1pBQLxYqkf+Ez3Qg=; b=EDB3rIRzhvmV6KWPtFn70RQEdp6L3GEHuCYb/MBEHBNCDtqjYuZuImPwdfqSSZ2802 pJR0b+8+ZgeVDD9vGKQzTn+bkETjUlO8ApvlcsH6kEB1jdIVgXdv3nb+uw6fCb2AviR2 snqh4F26LNjU2VBsBZ+/633T7vh9jKJTO2q/EXwipmbLfMEa1x+jew0M8rkm82XBRK6Q fmFQhMh8svbn2E9knnPnq61msttA+BRIyoIeNtiVIFnUHAJr7viJEIPaIkkC3MKooU2H ZHo/h3tC7Zr1kYxAvQSHhg7+mfQFxIFjbJldypK3dRcP5R7PabvjW6hmQij52dI+rkBT DHKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735367148; x=1735971948; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wGrBqX+xpxpxBlqNE5E6JAoQcVz1pBQLxYqkf+Ez3Qg=; b=HcgGlVKJAm4hB/2Yjao/yyF0C3p3jez34E1tsGTvZSD01rInEZpvnExSqfeMicwiNl VERcRKcVyFmNmRLhD3iGgazWuHwXOXcQBwWYEOB+pot8lpwhP8QDfwpcNeIRG25kYktS bkIk/HbOrJKGv58ng+KE8MFaB9ZCnzTlcwLOCc4VPRXe5XUe/oAAkV9QuIsiPH6QWAZB r9sOFDDBrCUi8iG7WC3C14286VjVfEIcLw/Kt//8fVxwt1PLbHZWM/Bt7qq3QhYDZups KeDtZtkwwIutDe4uWiAYntIbN5c1Htzq123n+XM2SE9/HpkFMwlRcUNkJsrQHbxYwhaC eOFA== X-Forwarded-Encrypted: i=1; AJvYcCXv1FnYrQkikQp7T/bhgpr/Ejus0K04wYbB5Dgi3Fp2SGFyUQdz8ZpYC1+9b2DTOWl6RBaR9kwTv7G7sVU=@vger.kernel.org X-Gm-Message-State: AOJu0Yx3Sx0Chi0hQElRB+gSHTSG1Bd21+7Jv17bea87reM3OCs+oZJR rNT/CMsm6bAW888KV61NbYIbV4lUdjts8UhQl8YQuka1DbbGMsNq X-Gm-Gg: ASbGncvh//TDrFB4AJcE5hKmt+bzio68gNwbSPisqRBdO+82RUvCfC5GFLosJoautLw ED5hniOLqfSiaAk60jWsaQAmaSxXqhtxdVPrOnk5UAg12LlLf9oL5l/zXFnYIs1+qdv6rSt3Sv0 f0xd1eJ6qunb9ONzRqgpY3JvOV7E1J2kLNH8wmaK+r36yTSalL7dD+UTb/RgF9panIzD0UVkmkN 9iqBe8Vx/FJIeaeyQi2u2GPsccV3cKs3+Ex/DDW9wacBB8fq45HzIU= X-Google-Smtp-Source: AGHT+IE34WJugC6jURtwoi13oo0OTuvDFgEtZV4kGJozVg9xwI731BZFEIKt0xrgOXddLKrN/0DlYw== X-Received: by 2002:a17:902:da8d:b0:215:a3fd:61f9 with SMTP id d9443c01a7336-219e6f23908mr149428545ad.15.1735367147931; Fri, 27 Dec 2024 22:25:47 -0800 (PST) Received: from ice.. ([171.76.83.141]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dc9f73f6sm144479455ad.222.2024.12.27.22.25.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Dec 2024 22:25:47 -0800 (PST) From: Nihar Chaithanya To: dpenkler@gmail.com, gregkh@linuxfoundation.org Cc: dan.carpenter@linaro.org, skhan@linuxfoundation.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Nihar Chaithanya Subject: [PATCH v5 02/15] staging: gpib: agilent_82350b: Handle gpib_register_driver() errors Date: Sat, 28 Dec 2024 11:37:50 +0530 Message-Id: <20241228060800.107653-3-niharchaithanya@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241228060800.107653-1-niharchaithanya@gmail.com> References: <20241228060800.107653-1-niharchaithanya@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The function gpib_register_driver() can fail which can result in semi-registered module. In case gpib_register_driver() fails unregister the previous gpib and pci registering functions, return the error value. Signed-off-by: Nihar Chaithanya --- .../gpib/agilent_82350b/agilent_82350b.c | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/staging/gpib/agilent_82350b/agilent_82350b.c b/drivers/staging/gpib/agilent_82350b/agilent_82350b.c index 53006d0cc79c..6f077ede86a6 100644 --- a/drivers/staging/gpib/agilent_82350b/agilent_82350b.c +++ b/drivers/staging/gpib/agilent_82350b/agilent_82350b.c @@ -910,13 +910,28 @@ static int __init agilent_82350b_init_module(void) result = pci_register_driver(&agilent_82350b_pci_driver); if (result) { - pr_err("agilent_82350b: pci_driver_register failed!\n"); + pr_err("agilent_82350b: pci_driver_register failed: error = %d\n", result); return result; } - gpib_register_driver(&agilent_82350b_unaccel_interface, THIS_MODULE); - gpib_register_driver(&agilent_82350b_interface, THIS_MODULE); + result = gpib_register_driver(&agilent_82350b_unaccel_interface, THIS_MODULE); + if (result) + goto err_unaccel; + + result = gpib_register_driver(&agilent_82350b_interface, THIS_MODULE); + if (result) + goto err_interface; + + pr_info("agilent_82350b: module init is complete\n"); return 0; + +err_interface: + gpib_unregister_driver(&agilent_82350b_unaccel_interface); +err_unaccel: + pci_unregister_driver(&agilent_82350b_pci_driver); + + pr_err("agilent_82350b: gpib_register_driver failed!\n"); + return result; } static void __exit agilent_82350b_exit_module(void) -- 2.34.1