Web lists-archives.com

[tip:master 26/52] drivers/staging/rtl8188eu/core/rtw_ap.c:445:1: internal compiler error: in change_address_1, at emit-rtl.c:1928




tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git master
head:   9f8f2e094230a70372026b237890dc438be83bd8
commit: b09be676e0ff25bd6d2e7637e26d349f9109ad75 [26/52] locking/lockdep: Implement the 'crossrelease' feature
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout b09be676e0ff25bd6d2e7637e26d349f9109ad75
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   drivers/staging/rtl8188eu/core/rtw_ap.c: In function 'expire_timeout_chk':
>> drivers/staging/rtl8188eu/core/rtw_ap.c:445:1: internal compiler error: in change_address_1, at emit-rtl.c:1928
    }
    ^
   0x61e86c change_address_1
   	/home/tony/buildall/src/gcc/gcc/emit-rtl.c:1928
   0x61ed31 adjust_address_1(rtx_def*, machine_mode, long, int, int, int, long)
   	/home/tony/buildall/src/gcc/gcc/emit-rtl.c:2060
   0xa1971e xtensa_split_operand_pair(rtx_def**, machine_mode)
   	/home/tony/buildall/src/gcc/gcc/config/xtensa/xtensa.c:1002
   0xa2074c gen_split_78(rtx_def*, rtx_def**)
   	/home/tony/buildall/src/gcc/gcc/config/xtensa/xtensa.md:781
   0x61d9f1 try_split(rtx_def*, rtx_def*, int)
   	/home/tony/buildall/src/gcc/gcc/emit-rtl.c:3440
   0x7bab61 split_insn
   	/home/tony/buildall/src/gcc/gcc/recog.c:2884
   0x7bae19 split_all_insns()
   	/home/tony/buildall/src/gcc/gcc/recog.c:2974
   0x7baed2 rest_of_handle_split_after_reload
   	/home/tony/buildall/src/gcc/gcc/recog.c:3923
   0x7baed2 execute
   	/home/tony/buildall/src/gcc/gcc/recog.c:3952
   Please submit a full bug report,
   with preprocessed source if appropriate.
   Please include the complete backtrace with any bug report.
   See <http://gcc.gnu.org/bugs.html> for instructions.

vim +445 drivers/staging/rtl8188eu/core/rtw_ap.c

9a7fe54dd Larry Finger    2013-08-21  278  
9a7fe54dd Larry Finger    2013-08-21  279  void	expire_timeout_chk(struct adapter *padapter)
9a7fe54dd Larry Finger    2013-08-21  280  {
9a7fe54dd Larry Finger    2013-08-21  281  	struct list_head *phead, *plist;
9a7fe54dd Larry Finger    2013-08-21  282  	u8 updated = 0;
9a7fe54dd Larry Finger    2013-08-21  283  	struct sta_info *psta = NULL;
9a7fe54dd Larry Finger    2013-08-21  284  	struct sta_priv *pstapriv = &padapter->stapriv;
9a7fe54dd Larry Finger    2013-08-21  285  	u8 chk_alive_num = 0;
9a7fe54dd Larry Finger    2013-08-21  286  	char chk_alive_list[NUM_STA];
9a7fe54dd Larry Finger    2013-08-21  287  	int i;
9a7fe54dd Larry Finger    2013-08-21  288  
7057dcb3a Larry Finger    2013-12-19  289  	spin_lock_bh(&pstapriv->auth_list_lock);
9a7fe54dd Larry Finger    2013-08-21  290  
9a7fe54dd Larry Finger    2013-08-21  291  	phead = &pstapriv->auth_list;
c44e5e39c Larry Finger    2014-02-09  292  	plist = phead->next;
9a7fe54dd Larry Finger    2013-08-21  293  
9a7fe54dd Larry Finger    2013-08-21  294  	/* check auth_queue */
846607008 navin patidar   2014-06-22  295  	while (phead != plist) {
bea881004 Larry Finger    2014-02-09  296  		psta = container_of(plist, struct sta_info, auth_list);
c44e5e39c Larry Finger    2014-02-09  297  		plist = plist->next;
9a7fe54dd Larry Finger    2013-08-21  298  
9a7fe54dd Larry Finger    2013-08-21  299  		if (psta->expire_to > 0) {
9a7fe54dd Larry Finger    2013-08-21  300  			psta->expire_to--;
9a7fe54dd Larry Finger    2013-08-21  301  			if (psta->expire_to == 0) {
8d5bdece4 navin patidar   2014-06-22  302  				list_del_init(&psta->auth_list);
9a7fe54dd Larry Finger    2013-08-21  303  				pstapriv->auth_list_cnt--;
9a7fe54dd Larry Finger    2013-08-21  304  
9a7fe54dd Larry Finger    2013-08-21  305  				DBG_88E("auth expire %6ph\n",
9a7fe54dd Larry Finger    2013-08-21  306  					psta->hwaddr);
9a7fe54dd Larry Finger    2013-08-21  307  
e02bcf612 Larry Finger    2013-12-19  308  				spin_unlock_bh(&pstapriv->auth_list_lock);
9a7fe54dd Larry Finger    2013-08-21  309  
8943880ef Scott Matheina  2017-01-05  310  				spin_lock_bh(&pstapriv->sta_hash_lock);
9a7fe54dd Larry Finger    2013-08-21  311  				rtw_free_stainfo(padapter, psta);
8943880ef Scott Matheina  2017-01-05  312  				spin_unlock_bh(&pstapriv->sta_hash_lock);
9a7fe54dd Larry Finger    2013-08-21  313  
7057dcb3a Larry Finger    2013-12-19  314  				spin_lock_bh(&pstapriv->auth_list_lock);
9a7fe54dd Larry Finger    2013-08-21  315  			}
9a7fe54dd Larry Finger    2013-08-21  316  		}
9a7fe54dd Larry Finger    2013-08-21  317  
9a7fe54dd Larry Finger    2013-08-21  318  	}
e02bcf612 Larry Finger    2013-12-19  319  	spin_unlock_bh(&pstapriv->auth_list_lock);
9a7fe54dd Larry Finger    2013-08-21  320  
9a7fe54dd Larry Finger    2013-08-21  321  	psta = NULL;
9a7fe54dd Larry Finger    2013-08-21  322  
7057dcb3a Larry Finger    2013-12-19  323  	spin_lock_bh(&pstapriv->asoc_list_lock);
9a7fe54dd Larry Finger    2013-08-21  324  
9a7fe54dd Larry Finger    2013-08-21  325  	phead = &pstapriv->asoc_list;
c44e5e39c Larry Finger    2014-02-09  326  	plist = phead->next;
9a7fe54dd Larry Finger    2013-08-21  327  
9a7fe54dd Larry Finger    2013-08-21  328  	/* check asoc_queue */
846607008 navin patidar   2014-06-22  329  	while (phead != plist) {
bea881004 Larry Finger    2014-02-09  330  		psta = container_of(plist, struct sta_info, asoc_list);
c44e5e39c Larry Finger    2014-02-09  331  		plist = plist->next;
9a7fe54dd Larry Finger    2013-08-21  332  
9a7fe54dd Larry Finger    2013-08-21  333  		if (chk_sta_is_alive(psta) || !psta->expire_to) {
9a7fe54dd Larry Finger    2013-08-21  334  			psta->expire_to = pstapriv->expire_to;
9a7fe54dd Larry Finger    2013-08-21  335  			psta->keep_alive_trycnt = 0;
9a7fe54dd Larry Finger    2013-08-21  336  			psta->under_exist_checking = 0;
9a7fe54dd Larry Finger    2013-08-21  337  		} else {
9a7fe54dd Larry Finger    2013-08-21  338  			psta->expire_to--;
9a7fe54dd Larry Finger    2013-08-21  339  		}
9a7fe54dd Larry Finger    2013-08-21  340  
9a7fe54dd Larry Finger    2013-08-21  341  		if (psta->expire_to <= 0) {
9a7fe54dd Larry Finger    2013-08-21  342  			struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
9a7fe54dd Larry Finger    2013-08-21  343  
9a7fe54dd Larry Finger    2013-08-21  344  			if (padapter->registrypriv.wifi_spec == 1) {
9a7fe54dd Larry Finger    2013-08-21  345  				psta->expire_to = pstapriv->expire_to;
9a7fe54dd Larry Finger    2013-08-21  346  				continue;
9a7fe54dd Larry Finger    2013-08-21  347  			}
9a7fe54dd Larry Finger    2013-08-21  348  
9a7fe54dd Larry Finger    2013-08-21  349  			if (psta->state & WIFI_SLEEP_STATE) {
9a7fe54dd Larry Finger    2013-08-21  350  				if (!(psta->state & WIFI_STA_ALIVE_CHK_STATE)) {
0a36d5fbd Jagan Teki      2015-05-18  351  					/* to check if alive by another methods
0a36d5fbd Jagan Teki      2015-05-18  352  					 * if station is at ps mode.
0a36d5fbd Jagan Teki      2015-05-18  353  					 */
9a7fe54dd Larry Finger    2013-08-21  354  					psta->expire_to = pstapriv->expire_to;
9a7fe54dd Larry Finger    2013-08-21  355  					psta->state |= WIFI_STA_ALIVE_CHK_STATE;
9a7fe54dd Larry Finger    2013-08-21  356  
0a36d5fbd Jagan Teki      2015-05-18  357  					/* to update bcn with tim_bitmap
0a36d5fbd Jagan Teki      2015-05-18  358  					 * for this station
0a36d5fbd Jagan Teki      2015-05-18  359  					 */
9a7fe54dd Larry Finger    2013-08-21  360  					pstapriv->tim_bitmap |= BIT(psta->aid);
945cd4726 Scott Matheina  2017-01-05  361  					update_beacon(padapter, _TIM_IE_, NULL,
945cd4726 Scott Matheina  2017-01-05  362  						      false);
9a7fe54dd Larry Finger    2013-08-21  363  
9a7fe54dd Larry Finger    2013-08-21  364  					if (!pmlmeext->active_keep_alive_check)
9a7fe54dd Larry Finger    2013-08-21  365  						continue;
9a7fe54dd Larry Finger    2013-08-21  366  				}
9a7fe54dd Larry Finger    2013-08-21  367  			}
9a7fe54dd Larry Finger    2013-08-21  368  			if (pmlmeext->active_keep_alive_check) {
9a7fe54dd Larry Finger    2013-08-21  369  				int stainfo_offset;
9a7fe54dd Larry Finger    2013-08-21  370  
249472588 Sreenath Madasu 2015-07-08  371  				stainfo_offset =
249472588 Sreenath Madasu 2015-07-08  372  					rtw_stainfo_offset(pstapriv, psta);
9a7fe54dd Larry Finger    2013-08-21  373  				if (stainfo_offset_valid(stainfo_offset))
9a7fe54dd Larry Finger    2013-08-21  374  					chk_alive_list[chk_alive_num++] = stainfo_offset;
9a7fe54dd Larry Finger    2013-08-21  375  				continue;
9a7fe54dd Larry Finger    2013-08-21  376  			}
9a7fe54dd Larry Finger    2013-08-21  377  
8d5bdece4 navin patidar   2014-06-22  378  			list_del_init(&psta->asoc_list);
9a7fe54dd Larry Finger    2013-08-21  379  			pstapriv->asoc_list_cnt--;
9a7fe54dd Larry Finger    2013-08-21  380  
9a7fe54dd Larry Finger    2013-08-21  381  			DBG_88E("asoc expire %pM, state = 0x%x\n", (psta->hwaddr), psta->state);
9a7fe54dd Larry Finger    2013-08-21  382  			updated = ap_free_sta(padapter, psta, true, WLAN_REASON_DEAUTH_LEAVING);
9a7fe54dd Larry Finger    2013-08-21  383  		} else {
9a7fe54dd Larry Finger    2013-08-21  384  			/* TODO: Aging mechanism to digest frames in sleep_q to avoid running out of xmitframe */
9a7fe54dd Larry Finger    2013-08-21  385  			if (psta->sleepq_len > (NR_XMITFRAME / pstapriv->asoc_list_cnt) &&
9a7fe54dd Larry Finger    2013-08-21  386  			    padapter->xmitpriv.free_xmitframe_cnt < (NR_XMITFRAME / pstapriv->asoc_list_cnt / 2)) {
9a7fe54dd Larry Finger    2013-08-21  387  				DBG_88E("%s sta:%pM, sleepq_len:%u, free_xmitframe_cnt:%u, asoc_list_cnt:%u, clear sleep_q\n", __func__,
9a7fe54dd Larry Finger    2013-08-21  388  					(psta->hwaddr), psta->sleepq_len,
9a7fe54dd Larry Finger    2013-08-21  389  					padapter->xmitpriv.free_xmitframe_cnt,
9a7fe54dd Larry Finger    2013-08-21  390  					pstapriv->asoc_list_cnt);
9a7fe54dd Larry Finger    2013-08-21  391  				wakeup_sta_to_xmit(padapter, psta);
9a7fe54dd Larry Finger    2013-08-21  392  			}
9a7fe54dd Larry Finger    2013-08-21  393  		}
9a7fe54dd Larry Finger    2013-08-21  394  	}
9a7fe54dd Larry Finger    2013-08-21  395  
e02bcf612 Larry Finger    2013-12-19  396  	spin_unlock_bh(&pstapriv->asoc_list_lock);
9a7fe54dd Larry Finger    2013-08-21  397  
9a7fe54dd Larry Finger    2013-08-21  398  	if (chk_alive_num) {
9a7fe54dd Larry Finger    2013-08-21  399  		u8 backup_oper_channel = 0;
9a7fe54dd Larry Finger    2013-08-21  400  		struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
9a7fe54dd Larry Finger    2013-08-21  401  		/* switch to correct channel of current network  before issue keep-alive frames */
9a7fe54dd Larry Finger    2013-08-21  402  		if (rtw_get_oper_ch(padapter) != pmlmeext->cur_channel) {
9a7fe54dd Larry Finger    2013-08-21  403  			backup_oper_channel = rtw_get_oper_ch(padapter);
9a7fe54dd Larry Finger    2013-08-21  404  			SelectChannel(padapter, pmlmeext->cur_channel);
9a7fe54dd Larry Finger    2013-08-21  405  		}
9a7fe54dd Larry Finger    2013-08-21  406  
9a7fe54dd Larry Finger    2013-08-21  407  		/* issue null data to check sta alive*/
9a7fe54dd Larry Finger    2013-08-21  408  		for (i = 0; i < chk_alive_num; i++) {
9a7fe54dd Larry Finger    2013-08-21  409  			int ret = _FAIL;
9a7fe54dd Larry Finger    2013-08-21  410  
9a7fe54dd Larry Finger    2013-08-21  411  			psta = rtw_get_stainfo_by_offset(pstapriv, chk_alive_list[i]);
9a7fe54dd Larry Finger    2013-08-21  412  
9a7fe54dd Larry Finger    2013-08-21  413  			if (psta->state & WIFI_SLEEP_STATE)
9a7fe54dd Larry Finger    2013-08-21  414  				ret = issue_nulldata(padapter, psta->hwaddr, 0, 1, 50);
9a7fe54dd Larry Finger    2013-08-21  415  			else
9a7fe54dd Larry Finger    2013-08-21  416  				ret = issue_nulldata(padapter, psta->hwaddr, 0, 3, 50);
9a7fe54dd Larry Finger    2013-08-21  417  
9a7fe54dd Larry Finger    2013-08-21  418  			psta->keep_alive_trycnt++;
9a7fe54dd Larry Finger    2013-08-21  419  			if (ret == _SUCCESS) {
9a7fe54dd Larry Finger    2013-08-21  420  				DBG_88E("asoc check, sta(%pM) is alive\n", (psta->hwaddr));
9a7fe54dd Larry Finger    2013-08-21  421  				psta->expire_to = pstapriv->expire_to;
9a7fe54dd Larry Finger    2013-08-21  422  				psta->keep_alive_trycnt = 0;
9a7fe54dd Larry Finger    2013-08-21  423  				continue;
9a7fe54dd Larry Finger    2013-08-21  424  			} else if (psta->keep_alive_trycnt <= 3) {
9a7fe54dd Larry Finger    2013-08-21  425  				DBG_88E("ack check for asoc expire, keep_alive_trycnt =%d\n", psta->keep_alive_trycnt);
9a7fe54dd Larry Finger    2013-08-21  426  				psta->expire_to = 1;
9a7fe54dd Larry Finger    2013-08-21  427  				continue;
9a7fe54dd Larry Finger    2013-08-21  428  			}
9a7fe54dd Larry Finger    2013-08-21  429  
9a7fe54dd Larry Finger    2013-08-21  430  			psta->keep_alive_trycnt = 0;
9a7fe54dd Larry Finger    2013-08-21  431  
9a7fe54dd Larry Finger    2013-08-21  432  			DBG_88E("asoc expire %pM, state = 0x%x\n", (psta->hwaddr), psta->state);
7057dcb3a Larry Finger    2013-12-19  433  			spin_lock_bh(&pstapriv->asoc_list_lock);
8d5bdece4 navin patidar   2014-06-22  434  			list_del_init(&psta->asoc_list);
9a7fe54dd Larry Finger    2013-08-21  435  			pstapriv->asoc_list_cnt--;
9a7fe54dd Larry Finger    2013-08-21  436  			updated = ap_free_sta(padapter, psta, true, WLAN_REASON_DEAUTH_LEAVING);
e02bcf612 Larry Finger    2013-12-19  437  			spin_unlock_bh(&pstapriv->asoc_list_lock);
9a7fe54dd Larry Finger    2013-08-21  438  		}
9a7fe54dd Larry Finger    2013-08-21  439  
9a7fe54dd Larry Finger    2013-08-21  440  		if (backup_oper_channel > 0) /* back to the original operation channel */
9a7fe54dd Larry Finger    2013-08-21  441  			SelectChannel(padapter, backup_oper_channel);
9a7fe54dd Larry Finger    2013-08-21  442  	}
9a7fe54dd Larry Finger    2013-08-21  443  
9a7fe54dd Larry Finger    2013-08-21  444  	associated_clients_update(padapter, updated);
9a7fe54dd Larry Finger    2013-08-21 @445  }
9a7fe54dd Larry Finger    2013-08-21  446  

:::::: The code at line 445 was first introduced by commit
:::::: 9a7fe54ddc3a70a25a773cb1e275cb7f7d2c6526 staging: r8188eu: Add source files for new driver - part 1

:::::: TO: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
:::::: CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip