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 <[email protected]>
:::::: CC: Greg Kroah-Hartman <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip

