Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp1317140pxx; Tue, 27 Oct 2020 13:42:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzGKqqycBi0Z16aDVen2lxdfja9Xa8LwC66uFIEnZlzr8cQq9trjOHyjhHh63G7JQvD29RH X-Received: by 2002:a17:906:b010:: with SMTP id v16mr4388981ejy.163.1603831352671; Tue, 27 Oct 2020 13:42:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603831352; cv=none; d=google.com; s=arc-20160816; b=zz5PkC+3nfdlarXn38GdB5PfbnmAWCQkeUyXn6g+rr26XIZvP3/BFjht7Vkdn39ATD 7EUnm7sHb9dLMvJ0W5h7apGrnmDdidCrHNo9adGxsnUqc4JChmR/Ys3DWRAsgmqwTq5E br7eSYA7cWou6yNBdwJJ/NwpnJgGXNoloHPnVcMPMozxTaLCjmEODV8AAytjTqwibsq2 xlcVgLYKZ1z/SBoHJ7/+K//L2T6FghfQfwbDTaGo2O7NyKRPqbmhP7yaFVESg2xUkASU txn6z/WA5bC+bXqUuwi40/O7UP37MT+Oj7LYiW7cWRnpW9AZbfMNf9NjOS1QG99rOqYF DZXg== 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:date:to :from:subject:message-id:dkim-signature; bh=JIqvo1SmTvJJlWmNsKQ6y5LN9w+nEb8ooG3L8JYz5F4=; b=ztSzlW+n0VBQElZwoz7fUsZCRRsUkCJePiCv6RHDvvmxI/fgzpNH43Lz3BZsIjzGki TO4ul9nyIvalRx9w9UTbhcxeuUnbv0W4vZkLc1TKSlx9jZFs5jPqs7aaUsg4FwU/qlft P/cL6IsIsZ5sgT/hkR37hyMxNG/vF1xexpoWr/hJRGu8DhRqWJphz2304UoTeYULIq2+ JAFFXkbp1S8VAbsHIyvPM3LR7hR49Nv2ZuQ6Cx/hAy6zN+hUS+lkyLdM0o+RfGHr5cV5 tVMIURYhDcixLRpGsBZKQ+Cl3x9LD3x3P5W1b9okWXO09VIki5myuOX5heL4zvENTSL+ woOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@areca-com-tw.20150623.gappssmtp.com header.s=20150623 header.b=O5Fi3nfe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z93si1847836ede.272.2020.10.27.13.42.10; Tue, 27 Oct 2020 13:42:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@areca-com-tw.20150623.gappssmtp.com header.s=20150623 header.b=O5Fi3nfe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390288AbgJ0Dbe (ORCPT + 99 others); Mon, 26 Oct 2020 23:31:34 -0400 Received: from mail-pj1-f66.google.com ([209.85.216.66]:40942 "EHLO mail-pj1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2408645AbgJ0Dbd (ORCPT ); Mon, 26 Oct 2020 23:31:33 -0400 Received: by mail-pj1-f66.google.com with SMTP id l2so54098pjt.5 for ; Mon, 26 Oct 2020 20:31:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=areca-com-tw.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:date:mime-version :content-transfer-encoding; bh=JIqvo1SmTvJJlWmNsKQ6y5LN9w+nEb8ooG3L8JYz5F4=; b=O5Fi3nfeR1o0l3o0c450phJtpsg1Eb8tBJQh/85Qgw2PwU6MDVsHoEfUSQGZyOXqEj SwAAOvhTEz+/45Z1/ScpQfzJln58xjQFMilrj7gsb/fTukw9F+Pv2+yqIZzd2CQCV0oN pHtflJ1ewGl8k7QVxd2MWrIWjq2w3B+1wPT3lOEKeuhDXiSfyqJzUm+BGNAvHvL2hpx2 9RR9nHboDxNf2rAvhjeqmrjWQlfJG+zYX8b46cLg1yxmZ9cbOhsI9Htvu4xeN5rBLH33 n6wJQP09iEN9psm9WI16H4yuEcVr2avbl/rKmCFXqpas7XFEVVW64usVu3NCkLXG5S3m dqOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:date:mime-version :content-transfer-encoding; bh=JIqvo1SmTvJJlWmNsKQ6y5LN9w+nEb8ooG3L8JYz5F4=; b=OOx45fuNyxTW29jGJRSGouszQOVSU26ePxMwqOQJR/rueq2GNlQTZwotXXNfjGKLwI GFkpGoAdXRGIqa6UKsZ6fTfMwwlosjo2X5xmvTIQQGAjnMGvKy0patYV+iTICbXUCkg0 /IOH6nPfiX8p8B+eJM6qXQga+/4gDh3S2SC/Use97PsRnkyQQUicq+gFVG7jDlQpydFw 4iIwazFrkgUyDelWEenNVxOZlOlNIdG3unYYMDdxH5zd6fYV2P1zfrXBrbNx2/OOfugD DwReGOISSYioX6yb6K0bCt+XS640SnAS8uANgSAR6ta/AV/7K7FnYvhnFl5gZY8GXE6I Gy9g== X-Gm-Message-State: AOAM530wuG8rPaD515GuAvjVtKnFhH2bPmQiiu+/0rwa2JVpVn1k/cqw M1XfaWHPnPrfS2tj3ZXKUp49zQ== X-Received: by 2002:a17:902:c405:b029:d6:5616:9aef with SMTP id k5-20020a170902c405b02900d656169aefmr411385plk.61.1603769492943; Mon, 26 Oct 2020 20:31:32 -0700 (PDT) Received: from centos78 (60-248-88-209.HINET-IP.hinet.net. [60.248.88.209]) by smtp.gmail.com with ESMTPSA id y27sm217619pfr.122.2020.10.26.20.31.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Oct 2020 20:31:32 -0700 (PDT) Message-ID: <27c0cda7fd103f05021adaf67490e9298ed5cc3f.camel@areca.com.tw> Subject: [PATCH v2 1/2] scsi: arcmsr: configure the default SCSI device command timeout value From: ching Huang To: martin.petersen@oracle.com, James.Bottomley@HansenPartnership.com, linux-scsi@vger.kernel.org, Linux Kernel Mailing List Date: Tue, 27 Oct 2020 11:31:31 +0800 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5 (3.28.5-8.el7) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: ching Huang Configure the default SCSI device command timeout value. Signed-off-by: ching Huang --- diff --git a/drivers/scsi/arcmsr/arcmsr.h b/drivers/scsi/arcmsr/arcmsr.h index 5d054d5..0f6abd2 100644 --- a/drivers/scsi/arcmsr/arcmsr.h +++ b/drivers/scsi/arcmsr/arcmsr.h @@ -83,6 +83,7 @@ struct device_attribute; #define PCI_DEVICE_ID_ARECA_1886 0x188A #define ARCMSR_HOURS (1000 * 60 * 60 * 4) #define ARCMSR_MINUTES (1000 * 60 * 60) +#define ARCMSR_DEFAULT_TIMEOUT 90 /* ********************************************************************************** ** diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c index e4fdb47..7cfae1d 100644 --- a/drivers/scsi/arcmsr/arcmsr_hba.c +++ b/drivers/scsi/arcmsr/arcmsr_hba.c @@ -99,6 +99,10 @@ static int set_date_time = 0; module_param(set_date_time, int, S_IRUGO); MODULE_PARM_DESC(set_date_time, " send date, time to iop(0 ~ 1), set_date_time=1(enable), default(=0) is disable"); +static int cmd_timeout = ARCMSR_DEFAULT_TIMEOUT; +module_param(cmd_timeout, int, S_IRUGO); +MODULE_PARM_DESC(cmd_timeout, " scsi cmd timeout(0 ~ 120 sec.), default is 90"); + #define ARCMSR_SLEEPTIME 10 #define ARCMSR_RETRYCOUNT 12 @@ -140,6 +144,7 @@ static irqreturn_t arcmsr_interrupt(struct AdapterControlBlock *acb); static void arcmsr_free_irq(struct pci_dev *, struct AdapterControlBlock *); static void arcmsr_wait_firmware_ready(struct AdapterControlBlock *acb); static void arcmsr_set_iop_datetime(struct timer_list *); +static int arcmsr_slave_config(struct scsi_device *sdev); static int arcmsr_adjust_disk_queue_depth(struct scsi_device *sdev, int queue_depth) { if (queue_depth > ARCMSR_MAX_CMD_PERLUN) @@ -155,6 +160,7 @@ static struct scsi_host_template arcmsr_scsi_host_template = { .eh_abort_handler = arcmsr_abort, .eh_bus_reset_handler = arcmsr_bus_reset, .bios_param = arcmsr_bios_param, + .slave_configure = arcmsr_slave_config, .change_queue_depth = arcmsr_adjust_disk_queue_depth, .can_queue = ARCMSR_DEFAULT_OUTSTANDING_CMD, .this_id = ARCMSR_SCSI_INITIATOR_ID, @@ -3256,6 +3262,16 @@ static int arcmsr_queue_command_lck(struct scsi_cmnd *cmd, static DEF_SCSI_QCMD(arcmsr_queue_command) +static int arcmsr_slave_config(struct scsi_device *sdev) +{ + unsigned int dev_timeout; + + dev_timeout = sdev->request_queue->rq_timeout; + if ((cmd_timeout > 0) && ((cmd_timeout * HZ) > dev_timeout)) + blk_queue_rq_timeout(sdev->request_queue, cmd_timeout * HZ); + return 0; +} + static void arcmsr_get_adapter_config(struct AdapterControlBlock *pACB, uint32_t *rwbuffer) { int count;