]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - block/blk-core.c
Merge remote-tracking branch 'scsi/for-next'
[karo-tx-linux.git] / block / blk-core.c
index c60e233eb08bdc110eb37018f3593c8ddb4001fc..45f4d7efbf349efa77f8c9d425e1d0ece4fbd9d4 100644 (file)
@@ -2455,14 +2455,16 @@ struct request *blk_peek_request(struct request_queue *q)
 
                        rq = NULL;
                        break;
-               } else if (ret == BLKPREP_KILL) {
+               } else if (ret == BLKPREP_KILL || ret == BLKPREP_INVALID) {
+                       int err = (ret == BLKPREP_INVALID) ? -EREMOTEIO : -EIO;
+
                        rq->cmd_flags |= REQ_QUIET;
                        /*
                         * Mark this request as started so we don't trigger
                         * any debug logic in the end I/O path.
                         */
                        blk_start_request(rq);
-                       __blk_end_request_all(rq, -EIO);
+                       __blk_end_request_all(rq, err);
                } else {
                        printk(KERN_ERR "%s: bad return=%d\n", __func__, ret);
                        break;