[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56790323.2090406@suse.de>
Date: Tue, 22 Dec 2015 09:00:35 +0100
From: Hannes Reinecke <hare@...e.de>
To: Finn Thain <fthain@...egraphics.com.au>,
"James E.J. Bottomley" <JBottomley@...n.com>,
Michael Schmitz <schmitzmic@...il.com>,
linux-m68k@...r.kernel.org, linux-scsi@...r.kernel.org,
linux-kernel@...r.kernel.org,
"Martin K. Petersen" <martin.petersen@...cle.com>
Subject: Re: [PATCH v3 61/77] ncr5380: Fix EH during arbitration and selection
On 12/22/2015 02:18 AM, Finn Thain wrote:
> During arbitration and selection, the relevant command is invisible to
> exception handlers and can be found only in a pointer on the stack of a
> different thread.
>
> When eh_abort_handler can't find a given command, it can't decide whether
> that command was completed already or is still in arbitration or selection
> phase. But it must return either SUCCESS (e.g. command completed earlier)
> or FAILED (could not abort the nexus, try bus reset).
>
> The solution is to make sure all commands belonging to the LLD are always
> visible to exception handlers. Add another scsi_cmnd pointer to the
> hostdata struct to track the command in arbitration or selection phase.
>
> Replace 'retain_dma_irq' with the new 'selecting' pointer, to bring
> atari_NCR5380.c into line with NCR5380.c.
>
> Signed-off-by: Finn Thain <fthain@...egraphics.com.au>
>
> ---
> drivers/scsi/NCR5380.c | 76 +++++++++++++++++++++++++++++----------
> drivers/scsi/NCR5380.h | 4 +-
> drivers/scsi/atari_NCR5380.c | 82 +++++++++++++++++++++++++++++++------------
> 3 files changed, 119 insertions(+), 43 deletions(-)
>
Reviewed-by: Hannes Reinecke <hare@...e.com>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@...e.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists