]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - block/blk-core.c
[SCSI] eata_pio: off by one in eata_pio_detect()
[karo-tx-linux.git] / block / blk-core.c
index d5745b5833c9d76527809c41b4718c3df70407df..c04505358342e132a0a3164cd154d12d52a7ad98 100644 (file)
@@ -2315,6 +2315,15 @@ 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 -ENOSPC:
+                       error_type = "critical space allocation";
+                       break;
+               case -ENODATA:
+                       error_type = "critical medium";
+                       break;
                case -EIO:
                default:
                        error_type = "I/O";
@@ -3180,7 +3189,8 @@ int __init blk_dev_init(void)
 
        /* used for unplugging and affects IO latency/throughput - HIGHPRI */
        kblockd_workqueue = alloc_workqueue("kblockd",
-                                           WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
+                                           WQ_MEM_RECLAIM | WQ_HIGHPRI |
+                                           WQ_POWER_EFFICIENT, 0);
        if (!kblockd_workqueue)
                panic("Failed to create kblockd\n");