Comment 39 for bug 1740309

Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

It looks like this change caused it, this also seems to cause a null ptr error on startup, which I thought was unrelated.

909657615d9b3ce709be4fd95b9a9e8c8c7c2be6 is the first bad commit
commit 909657615d9b3ce709be4fd95b9a9e8c8c7c2be6
Author: Christoph Hellwig <email address hidden>
Date: Thu Apr 6 15:36:32 2017 +0200

    scsi: libsas: allow async aborts

    We now first try to call ->eh_abort_handler from a work queue, but libsas
    was always failing that for no good reason. Allow async aborts.

    Reviewed-by: Johannes Thumshirn <email address hidden>
    Reviewed-by: Hannes Reinecke <email address hidden>
    Signed-off-by: Christoph Hellwig <email address hidden>
    Signed-off-by: Martin K. Petersen <email address hidden>

:040000 040000 b15f1eb57bf74667aefb7a304fa09bf58386eaf2 64df540499763db44c7e1b6ec9a55ffa9b2ebedc M drivers

The change removes an early exit that would protect a call to lldd_abort_task...

diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c
index 9bd55bce83af..ee6b39a1db69 100644
--- a/drivers/scsi/libsas/sas_scsi_host.c
+++ b/drivers/scsi/libsas/sas_scsi_host.c
@@ -491,9 +491,6 @@ int sas_eh_abort_handler(struct scsi_cmnd *cmd)
        struct Scsi_Host *host = cmd->device->host;
        struct sas_internal *i = to_sas_internal(host->transportt);

- if (current != host->ehandler)
- return FAILED;
-
        if (!i->dft->lldd_abort_task)
                return FAILED;