Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp4635788rdh; Wed, 29 Nov 2023 06:53:44 -0800 (PST) X-Google-Smtp-Source: AGHT+IEpu+o007O8CerE6LO+lQcQKW0uVoci7YZSxVoJc9AvfZ4bBo+V4qr2sV/TILh1iXl7PWbe X-Received: by 2002:a05:6a21:a58d:b0:18b:d99a:99bd with SMTP id gd13-20020a056a21a58d00b0018bd99a99bdmr22936694pzc.32.1701269624108; Wed, 29 Nov 2023 06:53:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701269624; cv=none; d=google.com; s=arc-20160816; b=k/nPTkQ2HnY2VV/nioBJvPLKc284OZ/mAXDkrApmNC7wwA2O+ovpjc6X1u9vTuzK8l l4btorx8QVmprMTTuGSlsrHm+ZZQEc2fSWJ7O6iAreozsNRo/7TCapMJR+UD431zXuvK HXGI21Z/HgSe2d73Bwihf3Vml33uYU5C2TgX9CKKoF++bAQCRH3PPi/jOk5c0tdCDrlT 6nG4kUjrMMUX7Wy5JwChLpDAOxynMo534geU3WxZcRcTzZ1Obq4GeFR+bDMioB7wunGf 5j4e87JmJZPTbrYcZ9tgnLrvqhpHqEPYCSZf/0iEFL1Cjp6UWL+QLrKIDPC4Bpk8YN1/ uDtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=/S2A/EeNHbYjLnA0IJVqikibUA8CJdMhN9CjXBD7ITw=; fh=yD5cBsbZMXyK6ckjJ1awMjPDKFuKMmh6XEI4G0CHyaQ=; b=RBOA2AOmkotJCfN0joTYO24hpJUpWDk48EOfIre6HMRfN5OA1WaNEgPaVeLzuvQAs2 ZYGhDuYiy+hZykf1Gvkmyq53+rlzjBRw1QCFKM6AnG5jlZq+UTquuRYdiNVAItmDvMtd bKpaBJcfJfTIH71WDSOo7DvRzxuUcqdhAkg+js1Tvpj2B9gViMK646ct6b1DcpcT4Cdk Cg8bLxamCsdSGSFCgRTs0TIcoazv8zlGh5u9ENdpVH9xL9E4nn69JptKR5EF2CnAMkmp xQKo1Bvf66aJL9F8YC5dihmvmdzpaD64xjcVZ0nqsoSRwtOsctWHUARA6qkQ3PEK6YRM gDxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b="kuj9Ho/D"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Return-Path: Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id bm25-20020a656e99000000b005b96a77e712si15479381pgb.17.2023.11.29.06.53.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 06:53:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b="kuj9Ho/D"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 9193B80219F9; Wed, 29 Nov 2023 06:53:41 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234700AbjK2OxP (ORCPT + 99 others); Wed, 29 Nov 2023 09:53:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234225AbjK2OxP (ORCPT ); Wed, 29 Nov 2023 09:53:15 -0500 Received: from m15.mail.163.com (m15.mail.163.com [45.254.50.220]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AA6D6DD; Wed, 29 Nov 2023 06:53:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id; bh=/S2A/EeNHbYjLnA0IJ VqikibUA8CJdMhN9CjXBD7ITw=; b=kuj9Ho/DifavLASqZBVo0EQMGnWGpdX57G Odr/0Fsl2iXVz7D4QHgIQYHwiGa/9H7wTyj3iVpOSKlt3bRXYqwa8VcORu2rBokH gpU3pdT+yhFBsE/9p2jqA7JFXlR8ojb7qkMTQWSTrzVy7Oc2lMUPXTZjFnQOiwTZ JmjHD8Ks8= Received: from localhost.localdomain (unknown [39.144.190.126]) by zwqz-smtp-mta-g2-2 (Coremail) with SMTP id _____wD333ERUGdls+wAAA--.230S2; Wed, 29 Nov 2023 22:52:03 +0800 (CST) From: Haoran Liu To: jejb@linux.ibm.com Cc: martin.petersen@oracle.com, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, Haoran Liu Subject: [PATCH] [scsi] lasi700: Add error handling in lasi700_probe Date: Wed, 29 Nov 2023 06:52:00 -0800 Message-Id: <20231129145200.34596-1-liuhaoran14@163.com> X-Mailer: git-send-email 2.17.1 X-CM-TRANSID: _____wD333ERUGdls+wAAA--.230S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7ZF4UJr4DCry7ur4kXr4kXrb_yoW8Zr1Dpa ykGws8Crs8Jr1xCw13Ja1UAF1Yq3yftry7Ka43Z3sIv3W3JFyktr4vyFyruFyrKrWvk3WU XF1jqrW293WDCFUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0pZjqiDUUUUU= X-Originating-IP: [39.144.190.126] X-CM-SenderInfo: xolxxtxrud0iqu6rljoofrz/1tbiZRo3gl8ZaQ-qYQADsi X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Wed, 29 Nov 2023 06:53:41 -0800 (PST) This patch introduces improved error handling for the dma_set_mask and ioremap calls in the lasi700_probe function within drivers/scsi/lasi700.c. Previously, the function did not properly handle the potential failure of these calls, which could lead to improper device initialization and unpredictable behavior. Although the error addressed by this patch may not occur in the current environment, I still suggest implementing these error handling routines if the function is not highly time-sensitive. As the environment evolves or the code gets reused in different contexts, there's a possibility that these errors might occur. Addressing them now can prevent potential debugging efforts in the future, which could be quite resource-intensive. Signed-off-by: Haoran Liu --- drivers/scsi/lasi700.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/lasi700.c b/drivers/scsi/lasi700.c index 86fe19e0468d..8d482bee940d 100644 --- a/drivers/scsi/lasi700.c +++ b/drivers/scsi/lasi700.c @@ -87,6 +87,7 @@ lasi700_probe(struct parisc_device *dev) unsigned long base = dev->hpa.start + LASI_SCSI_CORE_OFFSET; struct NCR_700_Host_Parameters *hostdata; struct Scsi_Host *host; + int err; hostdata = kzalloc(sizeof(*hostdata), GFP_KERNEL); if (!hostdata) { @@ -95,8 +96,20 @@ lasi700_probe(struct parisc_device *dev) } hostdata->dev = &dev->dev; - dma_set_mask(&dev->dev, DMA_BIT_MASK(32)); + err = dma_set_mask(&dev->dev, DMA_BIT_MASK(32)); + if (err) { + dev_err(&dev->dev, "Failed to set DMA mask: %d\n", err); + kfree(hostdata); + return err; + } + hostdata->base = ioremap(base, 0x100); + if (!hostdata->base) { + dev_err(&dev->dev, "ioremap failed\n"); + kfree(hostdata); + return -ENOMEM; + } + hostdata->differential = 0; if (dev->id.sversion == LASI_700_SVERSION) { -- 2.17.1