From patchwork Sun Nov 26 05:31:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandrakanth patil X-Patchwork-Id: 13468771 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="VJO1jbvM" Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 57510DC for ; Sat, 25 Nov 2023 21:30:59 -0800 (PST) Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-1cf6373ce31so22197945ad.0 for ; Sat, 25 Nov 2023 21:30:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1700976658; x=1701581458; darn=vger.kernel.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=RvemdwUFmCFCnLzzopaaVN6/GYHBEgJkBSAkUJl17Zg=; b=VJO1jbvMViPV+shdurhp93tccXD80CGjVroNZ2xQTmOSGPcFEGUhF3H4i3E0oX6EdW +eP9zhMPK60kq4SclES3pNPEeNCAtb2y5K1go19GW8gzTLfesoL5rEys5f9K6VUA2sIZ gjpx+4zji9Mt0uBgydC8fvq9Nomz7L2HVmGNg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700976658; x=1701581458; h=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=RvemdwUFmCFCnLzzopaaVN6/GYHBEgJkBSAkUJl17Zg=; b=gMHQriLZ4DSbDuVNF6Z7uqwYl8ncmIA46mX62DTGrCXZk8QYj7h3Mc9UT+910Yed6X NOm9kalGcoopxBoeq5yzD4xj9uqUP1xES+qdeBJiaszp9dD82E8mXZ5CB6k12eg8m6YQ 4Eiuwd7mVC84c8QkPVjEWGyNukBR7xo0XGVoFxieq6NQrB2oVLZl5mtzkccBinIWw5v6 TdBO+Fy+BbS16AVpbg5bCSIrUfq8htaqH0MsM6w/3+wHBs35S2YpE7BybM05KzAOp53E 5M+g4opozL3RODhqVznX/6naeQ20DkJ0CCZUDbnu7EX+FV4OUJi2PD2w1YApqyJB4SkF QNjQ== X-Gm-Message-State: AOJu0Yw7B06gbrclXSS82/mItqsxXDHP14ZFiDWBPNGglFdcGaaE8tTq gp52BzS4WmL9lj/3Qrn5Z1j90/RwBkZI2jvyRwU0yKzA27C9ttS2BWIK3hvBXCSdDuD4KeWFXwo mTd4AyqZQ3kCOCU6hEb1kmyJUbwoXtsI5bcdSV+b2HAsl0DokgVOhFWE6cYjHSdak/dpQwuPvFH HN5R73aMgwsyxBfxKalA== X-Google-Smtp-Source: AGHT+IGyOiWf22D1TEpY7OaO+LStl+lbNbWTU2Ke0ZqA8WP8TOrE7Jqv0EDrc+LwG6TZ4frBQhIkmQ== X-Received: by 2002:a17:902:e812:b0:1cc:5671:8d9 with SMTP id u18-20020a170902e81200b001cc567108d9mr15391431plg.27.1700976658244; Sat, 25 Nov 2023 21:30:58 -0800 (PST) Received: from dhcp-10-123-20-35.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id s78-20020a632c51000000b00578b8fab907sm5516166pgs.73.2023.11.25.21.30.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Nov 2023 21:30:57 -0800 (PST) From: Chandrakanth patil To: linux-scsi@vger.kernel.org, sathya.prakash@broadcom.com, sumit.saxena@broadcom.com, ranjan.kumar@broadcom.com, prayas.patel@broadcom.com Cc: Chandrakanth patil , stable@vger.kernel.org Subject: [PATCH 2/4] mpi3mr: Cleanup block devices post controller reset Date: Sun, 26 Nov 2023 11:01:32 +0530 Message-Id: <20231126053134.10133-3-chandrakanth.patil@broadcom.com> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20231126053134.10133-1-chandrakanth.patil@broadcom.com> References: <20231126053134.10133-1-chandrakanth.patil@broadcom.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 After a controller reset, if the firmware changes the state of devices to "hide," then remove those devices from the OS. Cc: # v6.6+ Signed-off-by: Sathya Prakash Signed-off-by: Chandrakanth patil --- drivers/scsi/mpi3mr/mpi3mr_os.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/mpi3mr/mpi3mr_os.c b/drivers/scsi/mpi3mr/mpi3mr_os.c index 561fe0857bc0..872d4b809d08 100644 --- a/drivers/scsi/mpi3mr/mpi3mr_os.c +++ b/drivers/scsi/mpi3mr/mpi3mr_os.c @@ -1047,8 +1047,9 @@ void mpi3mr_rfresh_tgtdevs(struct mpi3mr_ioc *mrioc) list_for_each_entry_safe(tgtdev, tgtdev_next, &mrioc->tgtdev_list, list) { if ((tgtdev->dev_handle == MPI3MR_INVALID_DEV_HANDLE) && - tgtdev->host_exposed && tgtdev->starget && - tgtdev->starget->hostdata) { + tgtdev->is_hidden && + tgtdev->host_exposed && tgtdev->starget && + tgtdev->starget->hostdata) { tgt_priv = tgtdev->starget->hostdata; tgt_priv->dev_removed = 1; atomic_set(&tgt_priv->block_io, 0); @@ -1064,6 +1065,10 @@ void mpi3mr_rfresh_tgtdevs(struct mpi3mr_ioc *mrioc) mpi3mr_remove_tgtdev_from_host(mrioc, tgtdev); mpi3mr_tgtdev_del_from_list(mrioc, tgtdev, true); mpi3mr_tgtdev_put(tgtdev); + } else if (tgtdev->is_hidden & tgtdev->host_exposed) { + dprint_reset(mrioc, "hiding target device with perst_id(%d)\n", + tgtdev->perst_id); + mpi3mr_remove_tgtdev_from_host(mrioc, tgtdev); } }