Skip to content

Commit

Permalink
libflash/mbox-flash: Minor fixups before V2
Browse files Browse the repository at this point in the history
- Warn if flushing with closed write window.
- Call msg_free_memory() in mbox_flash_init() before a successful
  return. No leak is present as the current allocation theme is from
  static memory. However as this is likely to change in the future,
  best to ensure that msg_free_memory() is called after every
  allocation.
- Fix bug where len argument may be incorrect in mark dirty command.

Signed-off-by: Cyril Bur <cyril.bur@au1.ibm.com>
Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Acked-by: Cyril Bur <cyri.bur@au1.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
  • Loading branch information
cyrilbur-ibm authored and stewartsmith committed May 26, 2017
1 parent daa269a commit cc40ffb
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion libflash/mbox-flash.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,14 +228,18 @@ static int lpc_window_write(struct mbox_flash_data *mbox_flash, uint32_t pos,
static int mbox_flash_flush(struct mbox_flash_data *mbox_flash, uint64_t pos,
uint64_t len)
{
uint32_t start = ALIGN_DOWN(pos, 1 << mbox_flash->shift);
struct bmc_mbox_msg *msg;
int rc;

if (!mbox_flash->write.open)
prlog(PR_WARNING, "Attempting to flush without an open write window\n");

msg = msg_alloc(mbox_flash, MBOX_C_WRITE_FLUSH);
if (!msg)
return FLASH_ERR_MALLOC_FAILED;
msg_put_u16(msg, 0, pos >> mbox_flash->shift);
msg_put_u32(msg, 2, len);
msg_put_u32(msg, 2, pos + len - start);

rc = msg_send(mbox_flash, msg);
if (rc) {
Expand Down Expand Up @@ -550,6 +554,8 @@ int mbox_flash_init(struct blocklevel_device **bl)
goto out_msg;
}

msg_free_memory(msg);

mbox_flash->bl.keep_alive = 0;
mbox_flash->bl.read = &mbox_flash_read;
mbox_flash->bl.write = &mbox_flash_write;
Expand Down

0 comments on commit cc40ffb

Please sign in to comment.