block/dasd: detailed I/O errors
[firefly-linux-kernel-4.4.55.git] / block / blk-core.c
index 33c33bc99ddd5546e6ba30ce267cb436d0328c51..32144322688830e68ec6a414c33b5238a214427d 100644 (file)
@@ -2315,6 +2315,9 @@ bool blk_update_request(struct request *req, int error, unsigned int nr_bytes)
                case -EBADE:
                        error_type = "critical nexus";
                        break;
+               case -ETIMEDOUT:
+                       error_type = "timeout";
+                       break;
                case -EIO:
                default:
                        error_type = "I/O";
@@ -3164,7 +3167,7 @@ void blk_post_runtime_resume(struct request_queue *q, int err)
                q->rpm_status = RPM_ACTIVE;
                __blk_run_queue(q);
                pm_runtime_mark_last_busy(q->dev);
-               pm_runtime_autosuspend(q->dev);
+               pm_request_autosuspend(q->dev);
        } else {
                q->rpm_status = RPM_SUSPENDED;
        }