From mboxrd@z Thu Jan 1 00:00:00 1970 From: Finn Thain Subject: [PATCH] ncr5380: Don't re-enter NCR5380_select() when aborting a command Date: Tue, 26 Jan 2016 13:31:14 +1100 Message-ID: <20160126023113.571639451@telegraphics.com.au> Return-path: Received: from kvm5.telegraphics.com.au ([98.124.60.144]:35875 "EHLO kvm5.telegraphics.com.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752914AbcAZEIc (ORCPT ); Mon, 25 Jan 2016 23:08:32 -0500 Content-Disposition: inline; filename=ncr5380-dont-reenter-NCR5380_select Sender: linux-m68k-owner@vger.kernel.org List-Id: linux-m68k@vger.kernel.org To: "James E.J. Bottomley" , "Martin K. Petersen" , Michael Schmitz , linux-m68k@vger.kernel.org, linux-scsi@vger.kernel.org Fixes: 707d62b37fbb ("ncr5380: Fix EH during arbitration and selection") Signed-off-by: Finn Thain --- drivers/scsi/NCR5380.c | 2 +- drivers/scsi/atari_NCR5380.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: linux/drivers/scsi/NCR5380.c =================================================================== --- linux.orig/drivers/scsi/NCR5380.c 2016-01-26 13:31:10.000000000 +1100 +++ linux/drivers/scsi/NCR5380.c 2016-01-26 13:31:10.000000000 +1100 @@ -2337,7 +2337,7 @@ static int NCR5380_abort(struct scsi_cmn dsprintk(NDEBUG_ABORT, instance, "abort: removed %p from disconnected list\n", cmd); cmd->result = DID_ERROR << 16; - if (!hostdata->connected) + if (!hostdata->connected && !hostdata->selecting) NCR5380_select(instance, cmd); if (hostdata->connected != cmd) { complete_cmd(instance, cmd); Index: linux/drivers/scsi/atari_NCR5380.c =================================================================== --- linux.orig/drivers/scsi/atari_NCR5380.c 2016-01-26 13:31:10.000000000 +1100 +++ linux/drivers/scsi/atari_NCR5380.c 2016-01-26 13:31:10.000000000 +1100 @@ -2532,7 +2532,7 @@ static int NCR5380_abort(struct scsi_cmn dsprintk(NDEBUG_ABORT, instance, "abort: removed %p from disconnected list\n", cmd); cmd->result = DID_ERROR << 16; - if (!hostdata->connected) + if (!hostdata->connected && !hostdata->selecting) NCR5380_select(instance, cmd); if (hostdata->connected != cmd) { complete_cmd(instance, cmd);