From patchwork Fri Jul 8 10:30:16 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Sumit Saxena X-Patchwork-Id: 9220459 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 34D6A60572 for ; Fri, 8 Jul 2016 10:30:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 26CA228688 for ; Fri, 8 Jul 2016 10:30:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1BBBA2868A; Fri, 8 Jul 2016 10:30:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8CB6528688 for ; Fri, 8 Jul 2016 10:30:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754267AbcGHKao (ORCPT ); Fri, 8 Jul 2016 06:30:44 -0400 Received: from mail-pa0-f49.google.com ([209.85.220.49]:35596 "EHLO mail-pa0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754049AbcGHKao (ORCPT ); Fri, 8 Jul 2016 06:30:44 -0400 Received: by mail-pa0-f49.google.com with SMTP id dx3so12653309pab.2 for ; Fri, 08 Jul 2016 03:30:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=xPWA/MLGAyJ7C7I51nvclZKdzK9aSsDHJswcKsEOhGc=; b=LVImZFMbs1Q2ox3zn21i6WYMKZvqJwN6WKqcDSPIfjZi/uH3a+w/+ctwGXr0KeGVvv yE8iFkE9qkRcrBlcWCcgq+rCIPWJwtiQk+sXZslrOfKWq9hIBagxhIRX/mLGE2T9Dz4y QOuoQOn0Ak1lLJBCvhfBPr2ZF1UAEfFw3Ivac= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=xPWA/MLGAyJ7C7I51nvclZKdzK9aSsDHJswcKsEOhGc=; b=GGM5Z8PweUMTW4E0qirga4K61iOZyfTQNKkeLWqNqTulTnWyV3YhTe3uuMEeZ+BZuj NwTLN8bPZux4uxarsP3PZ6iy+e/HELyXcQzlOJqDFAXBeam64SlnYA2ZtPKxoDy+05GP 5phflmFE8lcmG5Atd3qUQXEhSgYnSA4vppF4wsD00HQNOC3G1NsvUhz15IwljwtCdrEI R9u5nt0EzcUtQ9JZ6fy8CP7ZcdOUgcpfIIYNMqRBE9bbHrFj6Ey6wfJMVKtP1IKJEtiP R8vkGfhYZk/5Xd4JuWTkgMNgW1iFWl2yKe9oGKKz54gJNba14D41JkeGkEyRqd9/nqTH VmJA== X-Gm-Message-State: ALyK8tId3icvSysIiTvGWP0B8i8vVgWLg3KW2PmG6KbQB5zLJzbem3d7SojqsCC7xAyTDD8a X-Received: by 10.66.76.132 with SMTP id k4mr5046732paw.22.1467973842656; Fri, 08 Jul 2016 03:30:42 -0700 (PDT) Received: from dhcp-135-24-192-142.localdomain ([192.19.239.250]) by smtp.gmail.com with ESMTPSA id e14sm2960168pfb.89.2016.07.08.03.30.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Jul 2016 03:30:42 -0700 (PDT) From: Sumit Saxena To: James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com Cc: linux-scsi@vger.kernel.org, kashyap.desai@broadcom.com, lucz@geza.com, , Sumit Saxena Subject: [PATCH] megaraid_sas: Do not fire MR_DCMD_PD_LIST_QUERY to controllers which do not support it Date: Fri, 8 Jul 2016 03:30:16 -0700 Message-Id: <1467973816-17448-1-git-send-email-sumit.saxena@broadcom.com> X-Mailer: git-send-email 2.4.3 MIME-Version: 1.0 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There was an issue reported by Lucz Geza on Dell Perc 6i. As per issue reported, megaraid_sas driver goes into an infinite error reporting loop as soon as there is a change in the status of one of the arrays (degrade, resync online etc …). Below are the error logs reported continuously- Jun 25 08:49:30 ns8 kernel: [ 757.757017] megaraid_sas 0000:02:00.0: DCMD failed/not supported by firmware: megasas_get_pd_list 4115 Jun 25 08:49:30 ns8 kernel: [ 757.778017] megaraid_sas 0000:02:00.0: DCMD failed/not supported by firmware: megasas_get_pd_list 4115 Jun 25 08:49:30 ns8 kernel: [ 757.799017] megaraid_sas 0000:02:00.0: DCMD failed/not supported by firmware: megasas_get_pd_list 4115 Jun 25 08:49:30 ns8 kernel: [ 757.820018] megaraid_sas 0000:02:00.0: DCMD failed/not supported by firmware: megasas_get_pd_list 4115 Jun 25 08:49:30 ns8 kernel: [ 757.841018] megaraid_sas 0000:02:00.0: DCMD failed/not supported by firmware: megasas_get_pd_list 4115 This issue is very much specific to controllers which do not support DCMD- MR_DCMD_PD_LIST_QUERY. In case of any hotplugging/rescanning of drives, AEN thread will be scheduled by driver and fire DCMD- MR_DCMD_PD_LIST_QUERY and if this DCMD is failed then driver will fail this event processing and will not go ahead for further events. This will cause infinite loop of same event getting retried infinitely and causing above mentioned logs. Fix for this problem is: not to fire DCMD MR_DCMD_PD_LIST_QUERY for controllers which do not support it and send DCMD SUCCESS status to AEN function so that it can go ahead with other event processing. Reported-by: Lucz Geza Cc: Signed-off-by: Sumit Saxena Reviewed-by: Tomas Henzl --- drivers/scsi/megaraid/megaraid_sas_base.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index f4b0690..2dab3dc 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -4079,6 +4079,12 @@ megasas_get_pd_list(struct megasas_instance *instance) struct MR_PD_ADDRESS *pd_addr; dma_addr_t ci_h = 0; + if (instance->pd_list_not_supported) { + dev_info(&instance->pdev->dev, "MR_DCMD_PD_LIST_QUERY " + "not supported by firmware\n"); + return ret; + } + cmd = megasas_get_cmd(instance); if (!cmd) {