From patchwork Fri Sep 25 13:02:07 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ewan Milne X-Patchwork-Id: 7264491 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 1BB1B9F6CD for ; Fri, 25 Sep 2015 13:02:13 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 3FCEC209D1 for ; Fri, 25 Sep 2015 13:02:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4D306205E9 for ; Fri, 25 Sep 2015 13:02:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756083AbbIYNCK (ORCPT ); Fri, 25 Sep 2015 09:02:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46004 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755887AbbIYNCJ (ORCPT ); Fri, 25 Sep 2015 09:02:09 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id 5E07BA2C39; Fri, 25 Sep 2015 13:02:09 +0000 (UTC) Received: from emilne.csb (dhcp-25-104.bos.redhat.com [10.18.25.104]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t8PD2813026834; Fri, 25 Sep 2015 09:02:08 -0400 From: "Ewan D. Milne" To: linux-scsi@vger.kernel.org Cc: dgilbert@interlog.com Subject: [PATCH v2] scsi_debug: fix failure to probe with scsi_level=1 or 2 due to NULL devip Date: Fri, 25 Sep 2015 09:02:07 -0400 Message-Id: <1443186127-8533-1-git-send-email-emilne@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.26 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=unavailable 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 From: "Ewan D. Milne" commit cbf67842c3d9 ("scsi_debug: support scsi-mq, queues and locks") added a test for devip == NULL in schedule_resp which returned SCSI_MLQUEUE_HOST_BUSY. However, devip will be NULL for any SCSI command to a LUN above the configured value, and if scsi_level=1 or 2 is specified, we will attempt to probe such unconfigured LUNs. An INQUIRY command to an unconfigured LUN will then be retried indefinitely with an error message. Fix this by returning the command in the same context if no devip exists. Signed-off-by: Ewan D. Milne --- drivers/scsi/scsi_debug.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index dfcc45b..a26b533 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -3946,11 +3946,9 @@ schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, if (WARN_ON(!cmnd)) return SCSI_MLQUEUE_HOST_BUSY; - if (NULL == devip) { - pr_warn("called devip == NULL\n"); - /* no particularly good error to report back */ - return SCSI_MLQUEUE_HOST_BUSY; - } + /* devip will be NULL when probing nonexistent LUNs w/o REPORT LUNS */ + if (NULL == devip) + goto respond_in_thread; sdp = cmnd->device;