diff options
author | Ananth N Mavinakayanahalli <ananth@in.ibm.com> | 2014-12-09 21:54:11 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2014-12-10 11:50:33 +1100 |
commit | 345efe1bda8377b42ac9403cbacf7f9610bdd372 (patch) | |
tree | d407a6476ec8a830abba0d0392eb14d620e0ddf1 /hw | |
parent | 1e15e9979e29572e84b11f38ad2bec0c1171a712 (diff) | |
download | skiboot-345efe1bda8377b42ac9403cbacf7f9610bdd372.zip skiboot-345efe1bda8377b42ac9403cbacf7f9610bdd372.tar.gz skiboot-345efe1bda8377b42ac9403cbacf7f9610bdd372.tar.bz2 |
FSP: Fix unused result warnings in fsp driver
Fix Wunused-result
Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/fsp/fsp.c | 69 |
1 files changed, 60 insertions, 9 deletions
diff --git a/hw/fsp/fsp.c b/hw/fsp/fsp.c index 6a86352..bc9131e 100644 --- a/hw/fsp/fsp.c +++ b/hw/fsp/fsp.c @@ -1060,6 +1060,7 @@ static void fsp_alloc_inbound(struct fsp_msg *msg) u32 tce_token = 0, act_len = 0; u8 rc = 0; void *buf; + struct fsp_msg *resp; prlog(PR_DEBUG, "FSP: Allocate inbound buffer func: %04x len: %d\n", func_id, len); @@ -1091,8 +1092,17 @@ static void fsp_alloc_inbound(struct fsp_msg *msg) reply: unlock(&fsp_lock); - fsp_queue_msg(fsp_mkmsg(FSP_RSP_ALLOC_INBOUND | rc, - 3, 0, tce_token, act_len), fsp_freemsg); + + resp = fsp_mkmsg(FSP_RSP_ALLOC_INBOUND | rc, 3, 0, tce_token, act_len); + if (!resp) { + prerror("FSP: response message allocation failed\n"); + return; + } + if (fsp_queue_msg(resp, fsp_freemsg)) { + fsp_freemsg(resp); + prerror("FSP: Failed to queue response message\n"); + return; + } } void *fsp_inbound_buf_from_tce(u32 tce_token) @@ -1130,6 +1140,7 @@ static bool fsp_local_command(u32 cmd_sub_mod, struct fsp_msg *msg) { u32 cmd = 0; u32 rsp_data = 0; + struct fsp_msg *resp; switch(cmd_sub_mod) { case FSP_CMD_CONTINUE_IPL: @@ -1146,13 +1157,29 @@ static bool fsp_local_command(u32 cmd_sub_mod, struct fsp_msg *msg) * deal with that sort of stuff asynchronously if/when * we add support for auto-freeing of messages */ - fsp_queue_msg(fsp_mkmsg(FSP_RSP_HV_STATE_CHG, 0), fsp_freemsg); + resp = fsp_mkmsg(FSP_RSP_HV_STATE_CHG, 0); + if (!resp) + prerror("FSP: Failed to allocate HV state response\n"); + else { + if (fsp_queue_msg(resp, fsp_freemsg)) { + fsp_freemsg(resp); + prerror("FSP: Failed to queue HV state resp\n"); + } + } return true; case FSP_CMD_SP_NEW_ROLE: /* FSP is assuming a new role */ prlog(PR_INFO, "FSP: FSP assuming new role\n"); - fsp_queue_msg(fsp_mkmsg(FSP_RSP_SP_NEW_ROLE, 0), fsp_freemsg); + resp = fsp_mkmsg(FSP_RSP_SP_NEW_ROLE, 0); + if (!resp) + prerror("FSP: Failed to allocate SP role response\n"); + else { + if (fsp_queue_msg(resp, fsp_freemsg)) { + fsp_freemsg(resp); + prerror("FSP: Failed to queue SP role resp\n"); + } + } ipl_state |= ipl_got_new_role; return true; @@ -1161,8 +1188,15 @@ static bool fsp_local_command(u32 cmd_sub_mod, struct fsp_msg *msg) /* XXX Do something saner. For now do a synchronous * response and hard code our capabilities */ - fsp_queue_msg(fsp_mkmsg(FSP_RSP_SP_QUERY_CAPS, 4, - 0x3ff80000, 0, 0, 0), fsp_freemsg); + resp = fsp_mkmsg(FSP_RSP_SP_QUERY_CAPS, 4, 0x3ff80000, 0, 0, 0); + if (!resp) + prerror("FSP: Failed to allocate CAPS response\n"); + else { + if (fsp_queue_msg(resp, fsp_freemsg)) { + fsp_freemsg(resp); + prerror("FSP: Failed to queue CAPS resp\n"); + } + } ipl_state |= ipl_got_caps; return true; case FSP_CMD_FSP_FUNCTNAL: @@ -1199,7 +1233,15 @@ static bool fsp_local_command(u32 cmd_sub_mod, struct fsp_msg *msg) cmd = FSP_RSP_CLOSE_HMC_INTF | FSP_STAUS_INVALID_HMC_ID; rsp_data = msg->data.bytes[0] << 24 | msg->data.bytes[1] << 16; rsp_data &= 0xffff0000; - fsp_queue_msg(fsp_mkmsg(cmd, 1, rsp_data), fsp_freemsg); + resp = fsp_mkmsg(cmd, 1, rsp_data); + if (!resp) + prerror("FSP: Failed to allocate HMC close response\n"); + else { + if (fsp_queue_msg(resp, fsp_freemsg)) { + fsp_freemsg(resp); + prerror("FSP: Failed to queue HMC close resp\n"); + } + } return true; } return false; @@ -1211,6 +1253,7 @@ static void fsp_handle_command(struct fsp_msg *msg) { struct fsp_cmdclass *cmdclass = fsp_get_cmdclass(msg); struct fsp_client *client, *next; + struct fsp_msg *resp; u32 cmd_sub_mod; if (!cmdclass) { @@ -1238,8 +1281,16 @@ static void fsp_handle_command(struct fsp_msg *msg) /* We don't know whether the message expected some kind of * response, so we send one anyway */ - fsp_queue_msg(fsp_mkmsg((cmd_sub_mod & 0xffff00) | 0x008020, 0), - fsp_freemsg); + resp = fsp_mkmsg((cmd_sub_mod & 0xffff00) | 0x008020, 0); + if (!resp) + prerror("FSP: Failed to allocate default response\n"); + else { + if (fsp_queue_msg(resp, fsp_freemsg)) { + fsp_freemsg(resp); + prerror("FSP: Failed to queue default response\n"); + } + } + free: fsp_freemsg(msg); } |