From patchwork Tue Jun 23 19:56:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 223436 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3471C433E0 for ; Tue, 23 Jun 2020 20:36:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7D72920781 for ; Tue, 23 Jun 2020 20:36:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592944584; bh=TDz7quR5F3qn09FfwEnfxZjI4AkGeZm/NEXZUi5KpxE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=OvPf+Q1Lln7tj0J9Ya0s6SoRZ9p9ak3ngDPIp6oKpPFmhpRKiOwCkoeSPoDzga6is b74XHVZeNZ1Ga80HtTg7zmBevgOKcUtNBsV63XaFCNAshURf2RJAoT+RaEwsJ504hw IbC3osp3fbWA0nDOTgMXWbdpuvQ8foXH8pJoyFGs= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390690AbgFWUgV (ORCPT ); Tue, 23 Jun 2020 16:36:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:59368 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389901AbgFWUgU (ORCPT ); Tue, 23 Jun 2020 16:36:20 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id DFC4620781; Tue, 23 Jun 2020 20:36:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592944580; bh=TDz7quR5F3qn09FfwEnfxZjI4AkGeZm/NEXZUi5KpxE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=yv6ORJxjNE1GvoMKkRuNYOPK+Xk64R0GgiZN+qmRCHpl3mjTYCMrLhp0o1lIEEM1f nsLrL7lGRalPRmXfH8EJx8NB9hCh2IlueTJqo2Dc5XvLXYVL11ALI1Tdl8+c2cGmip /NqiK3/8G92Hu3DUXVbd2snRD2+dQfKPGx7TKcdw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tyrel Datwyler , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 4.19 045/206] scsi: ibmvscsi: Dont send host info in adapter info MAD after LPM Date: Tue, 23 Jun 2020 21:56:13 +0200 Message-Id: <20200623195319.198816531@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200623195316.864547658@linuxfoundation.org> References: <20200623195316.864547658@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Tyrel Datwyler [ Upstream commit 4919b33b63c8b69d8dcf2b867431d0e3b6dc6d28 ] The adapter info MAD is used to send the client info and receive the host info as a response. A persistent buffer is used and as such the client info is overwritten after the response. During the course of a normal adapter reset the client info is refreshed in the buffer in preparation for sending the adapter info MAD. However, in the special case of LPM where we reenable the CRQ instead of a full CRQ teardown and reset we fail to refresh the client info in the adapter info buffer. As a result, after Live Partition Migration (LPM) we erroneously report the host's info as our own. [mkp: typos] Link: https://lore.kernel.org/r/20200603203632.18426-1-tyreld@linux.ibm.com Signed-off-by: Tyrel Datwyler Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/ibmvscsi/ibmvscsi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c index b99ded6b9e0bb..036508a4bd5a8 100644 --- a/drivers/scsi/ibmvscsi/ibmvscsi.c +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c @@ -429,6 +429,8 @@ static int ibmvscsi_reenable_crq_queue(struct crq_queue *queue, int rc = 0; struct vio_dev *vdev = to_vio_dev(hostdata->dev); + set_adapter_info(hostdata); + /* Re-enable the CRQ */ do { if (rc)