Received: by 10.223.176.46 with SMTP id f43csp2658350wra; Mon, 22 Jan 2018 01:03:13 -0800 (PST) X-Google-Smtp-Source: AH8x225B3/3IuvxhV8noIOF/OFtEQskGht4a0b6MYLRvuWFbQk334c5NaHznkLG/N7AhaUHziJT+ X-Received: by 2002:a17:902:824:: with SMTP id 33-v6mr1642421plk.258.1516611793317; Mon, 22 Jan 2018 01:03:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516611793; cv=none; d=google.com; s=arc-20160816; b=XRrsH9c9gOqfTv+eFbZmg7cyHEr2+bNR/qh1IREcSvzm7mC9OFJN7z8jQ99X8KA0UA 28vkcsJFci382jAU8akDvNdAWsrc3ZyCDICz67ae1gXmWXOjwfUQRrKtX6mcY2SnrJ+2 IsRPFxIZrcELOGhmzBkm1jlm1Z+o50patALo0PM3XvcaZgoqMQ1DeAJonIdD6hJz9I2z wTffR6XQlG3fMWF1xTskiQ9beb9AeDGyRUtSGWgNyolCmaLBOkSZN+h8J2fV+K3fqJzX EtWJmsW7M9pDOFjgMfCOb/EHc7LbozCpU57eKzANT6dHhugXWHGkCs/133yS+cOuOZeR wRew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=5YT6E4Hw5GiiO3QQDsgnFTlz1aTaU2vsCFhipb6dfUQ=; b=fab5QL27baU6XeFxpHkbYn+kn90aHgLPsjN4mtx04QmMFVYC6mtcBqfxnjERFfLL5U 6TzLpkw0wkhjjeQF9VqtxjbwE4unOOnwmWdlNKUgPyX4N8BT/zJtPjSuHbDt9k1jo4yX Z07hKUYLy1HtYqN1FmnQxuNiGWk4O0nFWhtLspkWSlX7lBO3rrIr+jpVNqh6OGK7f78x eZ3MOOAVCJki3YlTT9jrolf4dfZ9qQTWAfNuIaKus+c4W2wnQlgRZy4rc6zKEWgX8YRO spGbqOfGwfOwLcH8Wz3wSdncmTQNYyJAkjVPeYgqm6sZSGGl1fkbc4SZuLvXx9lZwq7m NfPg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p65si15217929pfg.280.2018.01.22.01.02.59; Mon, 22 Jan 2018 01:03:13 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753528AbeAVIxN (ORCPT + 99 others); Mon, 22 Jan 2018 03:53:13 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:33896 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753506AbeAVIxJ (ORCPT ); Mon, 22 Jan 2018 03:53:09 -0500 Received: from localhost (LFbn-1-12258-90.w90-92.abo.wanadoo.fr [90.92.71.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 1BE59F00; Mon, 22 Jan 2018 08:53:08 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hannes Reinecke , Christoph Hellwig , Yves-Alexis Perez , "Martin K. Petersen" Subject: [PATCH 4.14 67/89] scsi: libsas: Disable asynchronous aborts for SATA devices Date: Mon, 22 Jan 2018 09:45:47 +0100 Message-Id: <20180122084001.189605038@linuxfoundation.org> X-Mailer: git-send-email 2.16.0 In-Reply-To: <20180122083954.683903493@linuxfoundation.org> References: <20180122083954.683903493@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Hannes Reinecke commit c9f926000fe3b84135a81602a9f7e63a6a7898e2 upstream. Handling CD-ROM devices from libsas is decidedly odd, as libata relies on SCSI EH to be started to figure out that no medium is present. So we cannot do asynchronous aborts for SATA devices. Fixes: 909657615d9 ("scsi: libsas: allow async aborts") Signed-off-by: Hannes Reinecke Reviewed-by: Christoph Hellwig Tested-by: Yves-Alexis Perez Signed-off-by: Martin K. Petersen Signed-off-by: Greg Kroah-Hartman --- drivers/scsi/libsas/sas_scsi_host.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) --- a/drivers/scsi/libsas/sas_scsi_host.c +++ b/drivers/scsi/libsas/sas_scsi_host.c @@ -486,15 +486,28 @@ static int sas_queue_reset(struct domain int sas_eh_abort_handler(struct scsi_cmnd *cmd) { - int res; + int res = TMF_RESP_FUNC_FAILED; struct sas_task *task = TO_SAS_TASK(cmd); struct Scsi_Host *host = cmd->device->host; + struct domain_device *dev = cmd_to_domain_dev(cmd); struct sas_internal *i = to_sas_internal(host->transportt); + unsigned long flags; if (!i->dft->lldd_abort_task) return FAILED; - res = i->dft->lldd_abort_task(task); + spin_lock_irqsave(host->host_lock, flags); + /* We cannot do async aborts for SATA devices */ + if (dev_is_sata(dev) && !host->host_eh_scheduled) { + spin_unlock_irqrestore(host->host_lock, flags); + return FAILED; + } + spin_unlock_irqrestore(host->host_lock, flags); + + if (task) + res = i->dft->lldd_abort_task(task); + else + SAS_DPRINTK("no task to abort\n"); if (res == TMF_RESP_FUNC_SUCC || res == TMF_RESP_FUNC_COMPLETE) return SUCCESS;