summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/mtd/ubi/wl.c9
-rw-r--r--include/ubi_uboot.h2
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c
index 2f9a5e3653..88b867a0c1 100644
--- a/drivers/mtd/ubi/wl.c
+++ b/drivers/mtd/ubi/wl.c
@@ -696,8 +696,13 @@ static void schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk)
list_add_tail(&wrk->list, &ubi->works);
ubi_assert(ubi->works_count >= 0);
ubi->works_count += 1;
- if (ubi->thread_enabled)
- wake_up_process(ubi->bgt_thread);
+
+ /*
+ * U-Boot special: We have no bgt_thread in U-Boot!
+ * So just call do_work() here directly.
+ */
+ do_work(ubi);
+
spin_unlock(&ubi->wl_lock);
}
diff --git a/include/ubi_uboot.h b/include/ubi_uboot.h
index 60f6a5fb4f..d2c90a6b44 100644
--- a/include/ubi_uboot.h
+++ b/include/ubi_uboot.h
@@ -123,7 +123,7 @@ typedef int wait_queue_head_t;
#define init_rwsem(...) do { } while (0)
#define down_read(...) do { } while (0)
#define down_write(...) do { } while (0)
-#define down_write_trylock(...) 0
+#define down_write_trylock(...) 1
#define up_read(...) do { } while (0)
#define up_write(...) do { } while (0)