From: Christoph Hellwig Date: Thu, 26 Nov 2015 11:58:11 +0000 (+0100) Subject: nvme: add NVME_SC_CANCELLED X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=297465c873ae8c99180617ca904dc1a4a738f25d;p=linux-beck.git nvme: add NVME_SC_CANCELLED To properly document how we are using a negative Linux error value to communicate request cancellations inside the driver. Signed-off-by: Christoph Hellwig Acked-by: Keith Busch Signed-off-by: Jens Axboe --- diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h index b75d41e5c378..88950f362d97 100644 --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h @@ -19,6 +19,16 @@ #include #include +enum { + /* + * Driver internal status code for commands that were cancelled due + * to timeouts or controller shutdown. The value is negative so + * that it a) doesn't overlap with the unsigned hardware error codes, + * and b) can easily be tested for. + */ + NVME_SC_CANCELLED = -EINTR, +}; + extern unsigned char nvme_io_timeout; #define NVME_IO_TIMEOUT (nvme_io_timeout * HZ) diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 99c5b6319d8d..e683bd1a05e6 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -621,7 +621,7 @@ static void req_completion(struct nvme_queue *nvmeq, void *ctx, if (req->cmd_type == REQ_TYPE_DRV_PRIV) { if (cmd_rq->ctx == CMD_CTX_CANCELLED) - error = -EINTR; + error = NVME_SC_CANCELLED; else error = status; } else {