Applied with the following diff:

diff --git a/lib/compress.c b/lib/compress.c
index ce1056b..8446fe4 100644
--- a/lib/compress.c
+++ b/lib/compress.c
@@ -1790,7 +1790,9 @@ int z_erofs_compress_init(struct erofs_sb_info *sbi, 
struct erofs_buffer_head *s
                                            cfg.c_mt_workers << 2,
                                            z_erofs_mt_wq_tls_alloc,
                                            z_erofs_mt_wq_tls_free);
-               z_erofs_mt_enabled = !ret;
+               if (ret)
+                       return ret;
+               z_erofs_mt_enabled = true;
        }
        pthread_mutex_init(&g_ictx.mutex, NULL);
        pthread_cond_init(&g_ictx.cond, NULL);
diff --git a/lib/workqueue.c b/lib/workqueue.c
index 840c204..2d4aa68 100644
--- a/lib/workqueue.c
+++ b/lib/workqueue.c
@@ -88,7 +88,7 @@ int erofs_alloc_workqueue(struct erofs_workqueue *wq, 
unsigned int nworker,
                return -ENOMEM;
 
        for (i = 0; i < nworker; i++) {
-               ret = pthread_create(&wq->workers[i], NULL, worker_thread, wq);
+               ret = -pthread_create(&wq->workers[i], NULL, worker_thread, wq);
                if (ret)
                        break;
        }

Reply via email to