Received: by 2002:a05:6358:5282:b0:b5:90e7:25cb with SMTP id g2csp3408153rwa; Tue, 23 Aug 2022 04:23:59 -0700 (PDT) X-Google-Smtp-Source: AA6agR4SsQP/BiMvUBE0SxfBAop64I0P4bokGpwBTeJzheMKYpw2nNT3AyE34kxqDsf5LuWbkREA X-Received: by 2002:a63:504:0:b0:42a:aaf6:5fc4 with SMTP id 4-20020a630504000000b0042aaaf65fc4mr8032288pgf.369.1661253839586; Tue, 23 Aug 2022 04:23:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661253839; cv=none; d=google.com; s=arc-20160816; b=Nt+uVoEgLuhS3VghfFkQqUaEjckF6wADr8FXYf4xZEg/NWKDIADYIrXo/yjfTTslq0 60DHIaFC9nqEm3f/YEhzs6oWA6iQenYgDbFPPI9d7uF+g9rdVgMRQXAsoMX+2zJmuC9H pqXOQmvtY/Fem+EE0+yngPtLFqrLgG/M0pwiZpzkwK+nDxUaNnwbZkHcpH62bkm5PMbo Iu85IwcjxDu+OxQKNWl6IizV2FzZ2nMVZgo1th8IznONsmDpHIvlhJc+W5kJP7k8JTax h/NmcH8pz8W+i1xUyacAqEmd69Yz61fEWANvayPlS5dtbsON0aTL8j77g4Knck0FWID2 kJqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=p7VDbLNqn1A83diwql1/Ftgt6DoieGW+ALlZfzCSDqA=; b=f5E91W8obUjEECnk9SWH6EteQS4nl4N9ralTEdlCOfw+SUC7PNIBIISkI9Pk+thUDQ YiDPTYGNLH4jFU1tcNkQAi3txwTD6JPMn6xywJXccuTOAspM0laGO2g1K8kHu572bDS1 77xFWsAkPexdNIv1vzUih9CKsw7MUn/4rEK0W5iwvVs1BzYJPQV5D+MtCR4J4jY+ql57 dF45QmJeB3hfgA3Rd2PHdTojEY0BM7FGNH58KrbjHmNU+iUGtnZmXQzGARp6uz6Qkz60 0AVJpACauZYNIoPClUK4c0bVSViAfsTVlbEfxOlSr2XWZgh8lNhWekjwo99ny+RnnTGm 42Vg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=RQZcyOyc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g10-20020a636b0a000000b003fc61e0fb47si15918690pgc.799.2022.08.23.04.23.45; Tue, 23 Aug 2022 04:23:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=RQZcyOyc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1351288AbiHWKnl (ORCPT + 99 others); Tue, 23 Aug 2022 06:43:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37902 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354964AbiHWKdr (ORCPT ); Tue, 23 Aug 2022 06:33:47 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD67EA5C51; Tue, 23 Aug 2022 02:06:54 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 99C7361596; Tue, 23 Aug 2022 09:06:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 76EFEC433D7; Tue, 23 Aug 2022 09:06:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1661245613; bh=F+sRpFZxN66/xatrsdfd4GAqMNuPg/Ab7EFMa+nq+KQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RQZcyOyc0axBdcnfb5gzQcJTDTni7UQfI+qdJk6GhMbPiELvXxig/dfkJUMn9PaLb rENtKmoShPGrO7irwDnvE+RyOD+J601IpLKhkPjvoOcMjEHHfoEDJRIzzxAIC0XK7T ZByshuC8lAKAZwOLJkBXmpeqDdio3NVJg2H3eF2M= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Scott Benesh , Scott Teel , Mike McGowen , Kevin Barnett , Mahesh Rajashekhara , Don Brace , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 4.19 132/287] scsi: smartpqi: Fix DMA direction for RAID requests Date: Tue, 23 Aug 2022 10:25:01 +0200 Message-Id: <20220823080104.868916164@linuxfoundation.org> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220823080100.268827165@linuxfoundation.org> References: <20220823080100.268827165@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mahesh Rajashekhara [ Upstream commit 69695aeaa6621bc49cdd7a8e5a8d1042461e496e ] Correct a SOP READ and WRITE DMA flags for some requests. This update corrects DMA direction issues with SCSI commands removed from the controller's internal lookup table. Currently, SCSI READ BLOCK LIMITS (0x5) was removed from the controller lookup table and exposed a DMA direction flag issue. SCSI READ BLOCK LIMITS was recently removed from our controller lookup table so the controller uses the respective IU flag field to set the DMA data direction. Since the DMA direction is incorrect the FW never completes the request causing a hang. Some SCSI commands which use SCSI READ BLOCK LIMITS * sg_map * mt -f /dev/stX status After updating controller firmware, users may notice their tape units failing. This patch resolves the issue. Also, the AIO path DMA direction is correct. The DMA direction flag is a day-one bug with no reported BZ. Fixes: 6c223761eb54 ("smartpqi: initial commit of Microsemi smartpqi driver") Link: https://lore.kernel.org/r/165730605618.177165.9054223644512926624.stgit@brunhilda Reviewed-by: Scott Benesh Reviewed-by: Scott Teel Reviewed-by: Mike McGowen Reviewed-by: Kevin Barnett Signed-off-by: Mahesh Rajashekhara Signed-off-by: Don Brace Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/smartpqi/smartpqi_init.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c index 98f2d076f938..b86cc0342ae3 100644 --- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c @@ -4638,10 +4638,10 @@ static int pqi_raid_submit_scsi_cmd_with_io_request( } switch (scmd->sc_data_direction) { - case DMA_TO_DEVICE: + case DMA_FROM_DEVICE: request->data_direction = SOP_READ_FLAG; break; - case DMA_FROM_DEVICE: + case DMA_TO_DEVICE: request->data_direction = SOP_WRITE_FLAG; break; case DMA_NONE: -- 2.35.1