core/flash: Only lock around flashes update in flash_register()
core/flash: Only lock around flashes update in flash_register()

Previously in flash_register() held flash_lock across ffs_init(), which
calls through the blocklevel layer to read the flash. This is unhelpful
with the IPMI HIOMAP protocol transport as LPC interrupts have not yet
been enabled and we are relying on polling to progress. The held lock
stalls the boot as we take the nopoll path in time_wait() while
completing ipmi_queue_msg_sync() in libflash/ipmi-flash.c

Signed-off-by: Andrew Jeffery <02e0a999c50b1f88df7a8f5a04e1b76b35ea6a88@aj.id.au>
Signed-off-by: Stewart Smith <ec31ab75ddf977353c8f660f92ea8b23f64aef25@linux.ibm.com>

legoater/skiboot,open-power/skiboot,qemu/skiboot,qemu/skiboot,open-power/skiboot,stewart-ibm/skiboot,legoater/skiboot,shenki/skiboot,open-power/skiboot,shenki/skiboot,open-power/skiboot,qemu/skiboot,legoater/skiboot,open-power/skiboot,legoater/skiboot,qemu/skiboot,shenki/skiboot,stewart-ibm/skiboot,legoater/skiboot,shenki/skiboot,stewart-ibm/skiboot,qemu/skiboot,shenki/skiboot