netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-realtek-btcoexist] question about identical code for different branches
@ 2017-05-17 21:52 Gustavo A. R. Silva
  2017-05-18  1:38 ` Larry Finger
  0 siblings, 1 reply; 2+ messages in thread
From: Gustavo A. R. Silva @ 2017-05-17 21:52 UTC (permalink / raw)
  To: Larry Finger, Chaoming Li, Kalle Valo
  Cc: linux-wireless, netdev, linux-kernel


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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [net-realtek-btcoexist] question about identical code for different branches
  2017-05-17 21:52 [net-realtek-btcoexist] question about identical code for different branches Gustavo A. R. Silva
@ 2017-05-18  1:38 ` Larry Finger
  0 siblings, 0 replies; 2+ messages in thread
From: Larry Finger @ 2017-05-18  1:38 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Chaoming Li, Kalle Valo
  Cc: linux-wireless, netdev, linux-kernel, Pkshih

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-05-18  1:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-17 21:52 [net-realtek-btcoexist] question about identical code for different branches Gustavo A. R. Silva
2017-05-18  1:38 ` Larry Finger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).