Loading net/ipc_router/ipc_router_core.c +13 −18 Original line number Diff line number Diff line Loading @@ -2123,12 +2123,12 @@ static void do_read_data(struct work_struct *work) pkt->length > MAX_IPC_PKT_SIZE) { IPC_RTR_ERR("%s: Invalid pkt length %d\n", __func__, pkt->length); goto fail_data; goto read_next_pkt1; } ret = extract_header(pkt); if (ret < 0) goto fail_data; goto read_next_pkt1; hdr = &(pkt->hdr); RAW("ver=%d type=%d src=%d:%08x crx=%d siz=%d dst=%d:%08x\n", hdr->version, hdr->type, hdr->src_node_id, Loading @@ -2139,14 +2139,12 @@ static void do_read_data(struct work_struct *work) ((hdr->type == IPC_ROUTER_CTRL_CMD_RESUME_TX) || (hdr->type == IPC_ROUTER_CTRL_CMD_DATA))) { forward_msg(xprt_info, pkt); release_pkt(pkt); continue; goto read_next_pkt1; } if (hdr->type != IPC_ROUTER_CTRL_CMD_DATA) { process_control_msg(xprt_info, pkt); release_pkt(pkt); continue; goto read_next_pkt1; } if (msm_ipc_router_debug_mask & SMEM_LOG) { Loading @@ -2166,9 +2164,7 @@ static void do_read_data(struct work_struct *work) if (!port_ptr) { IPC_RTR_ERR("%s: No local port id %08x\n", __func__, hdr->dst_port_id); up_read(&local_ports_lock_lha2); release_pkt(pkt); return; goto read_next_pkt2; } down_read(&routing_table_lock_lha3); Loading @@ -2182,21 +2178,20 @@ static void do_read_data(struct work_struct *work) IPC_RTR_ERR( "%s: Rmt Prt %08x:%08x create failed\n", __func__, hdr->src_node_id, hdr->src_port_id); up_read(&routing_table_lock_lha3); up_read(&local_ports_lock_lha2); release_pkt(pkt); return; goto read_next_pkt3; } } up_read(&routing_table_lock_lha3); post_pkt_to_port(port_ptr, pkt, 0); up_read(&local_ports_lock_lha2); } return; fail_data: continue; read_next_pkt3: up_read(&routing_table_lock_lha3); read_next_pkt2: up_read(&local_ports_lock_lha2); read_next_pkt1: release_pkt(pkt); IPC_RTR_ERR("%s: ipc_router has died\n", __func__); } } int msm_ipc_router_register_server(struct msm_ipc_port *port_ptr, Loading Loading
net/ipc_router/ipc_router_core.c +13 −18 Original line number Diff line number Diff line Loading @@ -2123,12 +2123,12 @@ static void do_read_data(struct work_struct *work) pkt->length > MAX_IPC_PKT_SIZE) { IPC_RTR_ERR("%s: Invalid pkt length %d\n", __func__, pkt->length); goto fail_data; goto read_next_pkt1; } ret = extract_header(pkt); if (ret < 0) goto fail_data; goto read_next_pkt1; hdr = &(pkt->hdr); RAW("ver=%d type=%d src=%d:%08x crx=%d siz=%d dst=%d:%08x\n", hdr->version, hdr->type, hdr->src_node_id, Loading @@ -2139,14 +2139,12 @@ static void do_read_data(struct work_struct *work) ((hdr->type == IPC_ROUTER_CTRL_CMD_RESUME_TX) || (hdr->type == IPC_ROUTER_CTRL_CMD_DATA))) { forward_msg(xprt_info, pkt); release_pkt(pkt); continue; goto read_next_pkt1; } if (hdr->type != IPC_ROUTER_CTRL_CMD_DATA) { process_control_msg(xprt_info, pkt); release_pkt(pkt); continue; goto read_next_pkt1; } if (msm_ipc_router_debug_mask & SMEM_LOG) { Loading @@ -2166,9 +2164,7 @@ static void do_read_data(struct work_struct *work) if (!port_ptr) { IPC_RTR_ERR("%s: No local port id %08x\n", __func__, hdr->dst_port_id); up_read(&local_ports_lock_lha2); release_pkt(pkt); return; goto read_next_pkt2; } down_read(&routing_table_lock_lha3); Loading @@ -2182,21 +2178,20 @@ static void do_read_data(struct work_struct *work) IPC_RTR_ERR( "%s: Rmt Prt %08x:%08x create failed\n", __func__, hdr->src_node_id, hdr->src_port_id); up_read(&routing_table_lock_lha3); up_read(&local_ports_lock_lha2); release_pkt(pkt); return; goto read_next_pkt3; } } up_read(&routing_table_lock_lha3); post_pkt_to_port(port_ptr, pkt, 0); up_read(&local_ports_lock_lha2); } return; fail_data: continue; read_next_pkt3: up_read(&routing_table_lock_lha3); read_next_pkt2: up_read(&local_ports_lock_lha2); read_next_pkt1: release_pkt(pkt); IPC_RTR_ERR("%s: ipc_router has died\n", __func__); } } int msm_ipc_router_register_server(struct msm_ipc_port *port_ptr, Loading