Return-path: Received: from mail-oi0-f67.google.com ([209.85.218.67]:35652 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753107AbdERBjC (ORCPT ); Wed, 17 May 2017 21:39:02 -0400 Subject: Re: [net-realtek-btcoexist] question about identical code for different branches To: "Gustavo A. R. Silva" , Chaoming Li , Kalle Valo Cc: linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Pkshih References: <20170517165232.Horde.v4lHW1-r73ZYdz2POOdERBa@gator4166.hostgator.com> From: Larry Finger Message-ID: <14834066-9820-a2cc-9c98-eebb9b89e7fe@lwfinger.net> (sfid-20170518_034021_875730_031310B0) Date: Wed, 17 May 2017 20:38:58 -0500 MIME-Version: 1.0 In-Reply-To: <20170517165232.Horde.v4lHW1-r73ZYdz2POOdERBa@gator4166.hostgator.com> Content-Type: text/plain; charset=utf-8; format=flowed Sender: linux-wireless-owner@vger.kernel.org List-ID: On 05/17/2017 04:52 PM, Gustavo A. R. Silva wrote: > > Hello everybody, > > While looking into Coverity ID 1362263 I ran into the following piece of code at > drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c:1000: > > 1000void exhalbtc_set_ant_num(struct rtl_priv *rtlpriv, u8 type, u8 ant_num) > 1001{ > 1002 if (BT_COEX_ANT_TYPE_PG == type) { > 1003 gl_bt_coexist.board_info.pg_ant_num = ant_num; > 1004 gl_bt_coexist.board_info.btdm_ant_num = ant_num; > 1005 /* The antenna position: > 1006 * Main (default) or Aux for pgAntNum=2 && btdmAntNum =1. > 1007 * The antenna position should be determined by > 1008 * auto-detect mechanism. > 1009 * The following is assumed to main, > 1010 * and those must be modified > 1011 * if y auto-detect mechanism is ready > 1012 */ > 1013 if ((gl_bt_coexist.board_info.pg_ant_num == 2) && > 1014 (gl_bt_coexist.board_info.btdm_ant_num == 1)) > 1015 gl_bt_coexist.board_info.btdm_ant_pos = > 1016 > BTC_ANTENNA_AT_MAIN_PORT; > 1017 else > 1018 gl_bt_coexist.board_info.btdm_ant_pos = > 1019 > BTC_ANTENNA_AT_MAIN_PORT; > 1020 } else if (BT_COEX_ANT_TYPE_ANTDIV == type) { > 1021 gl_bt_coexist.board_info.btdm_ant_num = ant_num; > 1022 gl_bt_coexist.board_info.btdm_ant_pos = > 1023 > BTC_ANTENNA_AT_MAIN_PORT; > 1024 } else if (type == BT_COEX_ANT_TYPE_DETECTED) { > 1025 gl_bt_coexist.board_info.btdm_ant_num = ant_num; > 1026 if (rtlpriv->cfg->mod_params->ant_sel == 1) > 1027 gl_bt_coexist.board_info.btdm_ant_pos = > 1028 BTC_ANTENNA_AT_AUX_PORT; > 1029 else > 1030 gl_bt_coexist.board_info.btdm_ant_pos = > 1031 BTC_ANTENNA_AT_MAIN_PORT; > 1032 } > 1033} > > The issue is that lines of code 1015-1016 and 1018-1019 are identical for > different branches. > > My question here is if one of those assignments should be modified, or the > entire _if_ statement replaced and the function refactored? > > I'd really appreciate any comment on this. > > Thank you! > -- > Gustavo A. R. Silva Gustavo, Thanks for the notification. I will discuss with Realtek as to the proper fix. Larry