Signed-off-by: Fam Zheng <f...@redhat.com> --- hw/block/onenand.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/hw/block/onenand.c b/hw/block/onenand.c index 8d84227..9b058e8 100644 --- a/hw/block/onenand.c +++ b/hw/block/onenand.c @@ -778,6 +778,7 @@ static int onenand_initfn(SysBusDevice *sbd) OneNANDState *s = ONE_NAND(dev); uint32_t size = 1 << (24 + ((s->id.dev >> 4) & 7)); void *ram; + Error *local_err = NULL; s->base = (hwaddr)-1; s->rdy = NULL; @@ -796,6 +797,11 @@ static int onenand_initfn(SysBusDevice *sbd) error_report("Can't use a read-only drive"); return -1; } + blk_lock_image(s->blk, s->lock_mode, &local_err); + if (local_err) { + error_report_err(local_err); + return -1; + } s->blk_cur = s->blk; } s->otp = memset(g_malloc((64 + 2) << PAGE_SHIFT), @@ -828,6 +834,7 @@ static Property onenand_properties[] = { DEFINE_PROP_UINT16("version_id", OneNANDState, id.ver, 0), DEFINE_PROP_INT32("shift", OneNANDState, shift, 0), DEFINE_PROP_DRIVE("drive", OneNANDState, blk), + DEFINE_PROP_LOCK_MODE("lock-mode", OneNANDState, lock_mode), DEFINE_PROP_END_OF_LIST(), }; -- 2.7.4