From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7344860831526743342==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH v3 1/6] ath11k: Add basic WoW functionalities Date: Tue, 08 Feb 2022 20:15:42 +0800 Message-ID: <202202082043.aWCCxhQm-lkp@intel.com> In-Reply-To: <1644308006-22784-2-git-send-email-quic_cjhuang@quicinc.com> List-Id: --===============7344860831526743342== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Carl, Thank you for the patch! Yet something to improve: [auto build test ERROR on 76680d49b5e0e661bc4abcdaf13fb7e124b4ca08] url: https://github.com/0day-ci/linux/commits/Carl-Huang/ath11k-support-= WoW-functionalities/20220208-161634 base: 76680d49b5e0e661bc4abcdaf13fb7e124b4ca08 config: csky-buildonly-randconfig-r002-20220208 (https://download.01.org/0d= ay-ci/archive/20220208/202202082043.aWCCxhQm-lkp(a)intel.com/config) compiler: csky-linux-gcc (GCC) 11.2.0 reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/e2f5c30ed6c6deadc01bfdd02= 10ce36ef2fbdf41 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Carl-Huang/ath11k-support-WoW-func= tionalities/20220208-161634 git checkout e2f5c30ed6c6deadc01bfdd0210ce36ef2fbdf41 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-11.2.0 make.cross= O=3Dbuild_dir ARCH=3Dcsky SHELL=3D/bin/bash drivers/net/wireless/ath/ath11= k/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): >> drivers/net/wireless/ath/ath11k/wow.c:356:5: warning: no previous protot= ype for 'ath11k_wow_op_suspend' [-Wmissing-prototypes] 356 | int ath11k_wow_op_suspend(struct ieee80211_hw *hw, | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/net/wireless/ath/ath11k/wow.c:415:6: warning: no previous protot= ype for 'ath11k_wow_op_set_wakeup' [-Wmissing-prototypes] 415 | void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enab= led) | ^~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/net/wireless/ath/ath11k/wow.c:424:5: warning: no previous protot= ype for 'ath11k_wow_op_resume' [-Wmissing-prototypes] 424 | int ath11k_wow_op_resume(struct ieee80211_hw *hw) | ^~~~~~~~~~~~~~~~~~~~ >> drivers/net/wireless/ath/ath11k/wow.c:466:5: error: redefinition of 'ath= 11k_wow_init' 466 | int ath11k_wow_init(struct ath11k *ar) | ^~~~~~~~~~~~~~~ In file included from drivers/net/wireless/ath/ath11k/core.h:26, from drivers/net/wireless/ath/ath11k/wow.c:11: drivers/net/wireless/ath/ath11k/wow.h:40:19: note: previous definition o= f 'ath11k_wow_init' with type 'int(struct ath11k *)' 40 | static inline int ath11k_wow_init(struct ath11k *ar) | ^~~~~~~~~~~~~~~ drivers/net/wireless/ath/ath11k/wow.c: In function 'ath11k_wow_init': >> drivers/net/wireless/ath/ath11k/wow.c:481:22: error: 'struct wiphy' has = no member named 'wowlan' 481 | ar->hw->wiphy->wowlan =3D &ar->wow.wowlan_support; | ^~ vim +/ath11k_wow_init +466 drivers/net/wireless/ath/ath11k/wow.c 355 = > 356 int ath11k_wow_op_suspend(struct ieee80211_hw *hw, 357 struct cfg80211_wowlan *wowlan) 358 { 359 struct ath11k *ar =3D hw->priv; 360 int ret; 361 = 362 mutex_lock(&ar->conf_mutex); 363 = 364 ret =3D ath11k_wow_cleanup(ar); 365 if (ret) { 366 ath11k_warn(ar->ab, "failed to clear wow wakeup events: %d\n", 367 ret); 368 goto exit; 369 } 370 = 371 ret =3D ath11k_wow_set_wakeups(ar, wowlan); 372 if (ret) { 373 ath11k_warn(ar->ab, "failed to set wow wakeup events: %d\n", 374 ret); 375 goto cleanup; 376 } 377 = 378 ret =3D ath11k_mac_wait_tx_complete(ar); 379 if (ret) { 380 ath11k_warn(ar->ab, "failed to wait tx complete: %d\n", ret); 381 goto cleanup; 382 } 383 = 384 ret =3D ath11k_wow_enable(ar->ab); 385 if (ret) { 386 ath11k_warn(ar->ab, "failed to start wow: %d\n", ret); 387 goto cleanup; 388 } 389 = 390 ath11k_ce_stop_shadow_timers(ar->ab); 391 ath11k_dp_stop_shadow_timers(ar->ab); 392 = 393 ath11k_hif_irq_disable(ar->ab); 394 ath11k_hif_ce_irq_disable(ar->ab); 395 = 396 ret =3D ath11k_hif_suspend(ar->ab); 397 if (ret) { 398 ath11k_warn(ar->ab, "failed to suspend hif: %d\n", ret); 399 goto wakeup; 400 } 401 = 402 goto exit; 403 = 404 wakeup: 405 ath11k_wow_wakeup(ar->ab); 406 = 407 cleanup: 408 ath11k_wow_cleanup(ar); 409 = 410 exit: 411 mutex_unlock(&ar->conf_mutex); 412 return ret ? 1 : 0; 413 } 414 = > 415 void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled) 416 { 417 struct ath11k *ar =3D hw->priv; 418 = 419 mutex_lock(&ar->conf_mutex); 420 device_set_wakeup_enable(ar->ab->dev, enabled); 421 mutex_unlock(&ar->conf_mutex); 422 } 423 = > 424 int ath11k_wow_op_resume(struct ieee80211_hw *hw) 425 { 426 struct ath11k *ar =3D hw->priv; 427 int ret; 428 = 429 mutex_lock(&ar->conf_mutex); 430 = 431 ret =3D ath11k_hif_resume(ar->ab); 432 if (ret) { 433 ath11k_warn(ar->ab, "failed to resume hif: %d\n", ret); 434 goto exit; 435 } 436 = 437 ath11k_hif_ce_irq_enable(ar->ab); 438 ath11k_hif_irq_enable(ar->ab); 439 = 440 ret =3D ath11k_wow_wakeup(ar->ab); 441 if (ret) 442 ath11k_warn(ar->ab, "failed to wakeup from wow: %d\n", ret); 443 = 444 exit: 445 if (ret) { 446 switch (ar->state) { 447 case ATH11K_STATE_ON: 448 ar->state =3D ATH11K_STATE_RESTARTING; 449 ret =3D 1; 450 break; 451 case ATH11K_STATE_OFF: 452 case ATH11K_STATE_RESTARTING: 453 case ATH11K_STATE_RESTARTED: 454 case ATH11K_STATE_WEDGED: 455 ath11k_warn(ar->ab, "encountered unexpected device state %d on re= sume, cannot recover\n", 456 ar->state); 457 ret =3D -EIO; 458 break; 459 } 460 } 461 = 462 mutex_unlock(&ar->conf_mutex); 463 return ret; 464 } 465 = > 466 int ath11k_wow_init(struct ath11k *ar) 467 { 468 if (WARN_ON(!test_bit(WMI_TLV_SERVICE_WOW, ar->wmi->wmi_ab->svc_map= ))) 469 return -EINVAL; 470 = 471 ar->wow.wowlan_support =3D ath11k_wowlan_support; 472 = 473 if (ar->wmi->wmi_ab->wlan_resource_config.rx_decap_mode =3D=3D 474 ATH11K_HW_TXRX_NATIVE_WIFI) { 475 ar->wow.wowlan_support.pattern_max_len -=3D WOW_MAX_REDUCE; 476 ar->wow.wowlan_support.max_pkt_offset -=3D WOW_MAX_REDUCE; 477 } 478 = 479 ar->wow.max_num_patterns =3D ATH11K_WOW_PATTERNS; 480 ar->wow.wowlan_support.n_patterns =3D ar->wow.max_num_patterns; > 481 ar->hw->wiphy->wowlan =3D &ar->wow.wowlan_support; --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============7344860831526743342==--