From patchwork Fri Jan 15 13:43:16 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hannes Reinecke X-Patchwork-Id: 8040861 Return-Path: X-Original-To: patchwork-linux-scsi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id EF9039F6FA for ; Fri, 15 Jan 2016 13:43:28 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 346DC203A1 for ; Fri, 15 Jan 2016 13:43:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 61F5920395 for ; Fri, 15 Jan 2016 13:43:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752082AbcAONnV (ORCPT ); Fri, 15 Jan 2016 08:43:21 -0500 Received: from mx2.suse.de ([195.135.220.15]:45332 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750802AbcAONnU (ORCPT ); Fri, 15 Jan 2016 08:43:20 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 4B9F9AC86; Fri, 15 Jan 2016 13:43:18 +0000 (UTC) From: Hannes Reinecke To: Sumit Saxena Cc: Kashyap Desai , megaraidlinux.pdl@avagotech.com, "Martin K. Petersen" , James Bottomley , linux-scsi@vger.kernel.org, Hannes Reinecke , Hannes Reinecke Subject: [PATCH] megaraid_sas: boot hangs while LD is offline Date: Fri, 15 Jan 2016 14:43:16 +0100 Message-Id: <1452865396-9887-1-git-send-email-hare@suse.de> X-Mailer: git-send-email 1.8.5.6 Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Offline Logical drives (LDs) should not allowed to be visible to the OS, as the OS will hang trying to send commands to it. This patch skips offline LDs like it already does for non-system physical drives (PDs). Signed-off-by: Hannes Reinecke --- drivers/scsi/megaraid/megaraid_sas_base.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index 97a1c1c..f32831b 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -1760,7 +1760,7 @@ static void megasas_set_dma_alignment(struct scsi_device *sdev) static int megasas_slave_configure(struct scsi_device *sdev) { - u16 pd_index = 0; + u16 pd_index = 0, ld_index; struct megasas_instance *instance; instance = megasas_lookup_instance(sdev->host->host_no); @@ -1772,6 +1772,11 @@ static int megasas_slave_configure(struct scsi_device *sdev) if (instance->pd_list[pd_index].driveState != MR_PD_STATE_SYSTEM) return -ENXIO; + } else { + ld_index = ((sdev->channel - MEGASAS_MAX_PD_CHANNELS) * + MEGASAS_MAX_DEV_PER_CHANNEL) + sdev->id; + if (instance->ld_ids[ld_index] == 0xff) + return -ENXIO; } } megasas_set_dma_alignment(sdev);