Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp334619yba; Fri, 5 Apr 2019 07:38:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqwITzrL8wGkXwe3naDCTNrDnb+VYSsqqXdatS+iEvHsfkq9ODwIXDr27gp3r1bLJatKxLlh X-Received: by 2002:a17:902:e48f:: with SMTP id cj15mr13233004plb.256.1554475095647; Fri, 05 Apr 2019 07:38:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554475095; cv=none; d=google.com; s=arc-20160816; b=PVGvMhx6lZIkqGyHlyJZSqNXWopJJduvy6ACnWwMEkI00EPmpbOiOjKozFKsq6ETgs P18MUnghU2xmQTD7MM25mhe229/o7NbQj5eADr07bB8COSv6EwPASpEdf3LODvfc5A9e NYKrtrTEcKefb6a8ZREo8xqLEi9UITPfaDDebAZmUQwqMlR5LRCr0SDSaVqgLbPauGIi gzVTEvfhD233jF10iyI16KxH9MW8a9VZqCaaFX5akrkfxmCdOsj2n3uuo/xOR2nN+Uzq g4HQJ99opJxU1StupohybWayOwtUnvrqHaHsFdH3GzreVrYQl2gb82dusv90CfDGFF8i AIjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:cc:references:to :subject:dkim-signature:dkim-filter; bh=TQvaywDYb8NzOIjO4uVmKw///I4J5QtOHCFIpbBvOSU=; b=LWMRd+/OSdo8RBmw18SMieE544p6WMhDg+gLCetHM8txtAsyCqHxeJOJvktHqMKoIl EQOfWThqNlY/K5Go142Z1f3nz/nF74cGoGDvA7/tg1g0abShHnBrWN0ao3d0QalUNmYP PmT46tOQ0WHwbSlU2qf8QJsJrO5ZBZ/6oh3jokiDT9g5fmHlRB52Z0dzdONyqYbbnwiI bUAT2ZZXP1sY2ba5VMfXv6SBtY1AxgB2+abYMF18JLxreOT+gUMYfb1EDf0susseynUX WJEhUonty3MclHQ2CVG3JVi1xLMi5u8wVVLeUka5GhrjSJ8fCHzbsIUuavwht2lI1sKz z3xw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@candelatech.com header.s=default header.b=Sqv2GYsE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=candelatech.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h8si20184361plb.282.2019.04.05.07.37.59; Fri, 05 Apr 2019 07:38:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@candelatech.com header.s=default header.b=Sqv2GYsE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=candelatech.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731247AbfDEOgA (ORCPT + 99 others); Fri, 5 Apr 2019 10:36:00 -0400 Received: from [208.74.158.174] ([208.74.158.174]:48324 "EHLO mail3.candelatech.com" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1726291AbfDEOgA (ORCPT ); Fri, 5 Apr 2019 10:36:00 -0400 X-Greylist: delayed 303 seconds by postgrey-1.27 at vger.kernel.org; Fri, 05 Apr 2019 10:35:59 EDT Received: from [192.168.1.47] (104-235-164-208.evrt.wa.frontiernet.net [104.235.164.208]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail3.candelatech.com (Postfix) with ESMTPSA id 7060F27B50; Fri, 5 Apr 2019 07:30:55 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 mail3.candelatech.com 7060F27B50 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=candelatech.com; s=default; t=1554474656; bh=lY4rlnNu0Fhupb9wjr63R+tMZBIacGi/PgOMNwdX+7c=; h=Subject:To:References:Cc:From:Date:In-Reply-To:From; b=Sqv2GYsE+8Hm2oyIBUsz0w9/2N4o9awY3Q5dfhLLieNT4INlPKiPw5uZpALeJe5sk nZku4rUvHsatNEH+CXVHiQ2CnlE9S9o8/KlVG5/cIKa1Nonxls6TdKmIgsBPX7JKca mSzgo6/gOVc9YVstpnzR/kXh913s/GDXf4Ti+/DI= Subject: Re: [PATCH] ath10k: Don't log a traceback on invalid event IDs. To: Peter Jones , Kalle Valo References: <20190405100508.12679-1-pjones@redhat.com> Cc: "David S. Miller" , ath10k@lists.infradead.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org From: Ben Greear Message-ID: <48c98ad9-665e-4665-a03c-242517a891ca@candelatech.com> Date: Fri, 5 Apr 2019 07:30:54 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20190405100508.12679-1-pjones@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/05/2019 03:05 AM, Peter Jones wrote: > Very frequently upon resume from suspend, we see tracebacks like: > > ath10k_pci 0000:02:00.0: unsupported HTC service id: 1536 > ath10k_pci 0000:02:00.0: Unknown eventid: 118809 > WARNING: CPU: 1 PID: 23135 at drivers/net/wireless/ath/ath10k/mac.c:5650 ath10k_bss_info_changed+0xe8e/0xfd0 [ath10k_core] From what I can tell below, you did not actually remove the WARN_ON? I think it is worth keeping a one-line logging message about these unknown events. They can indicate firmware API mismatch. They could be made to only print once per boot if that helped. And, if you are changing the logging messages, maybe put in extra info about what code path it is taking, for instance: + ath10k_info(ar, ATH10K_DBG_WMI, "Unknown TLV op eventid: %d\n", id); Thanks, Ben > Modules linked in: ... > CPU: 1 PID: 23135 Comm: kworker/u16:54 Not tainted 4.20.15-200.fc29.x86_64 #1 > Hardware name: ... > Workqueue: events_unbound async_run_entry_fn > RIP: 0010:ath10k_bss_info_changed+0xe8e/0xfd0 [ath10k_core] > Code: 89 c1 89 f2 4c 89 d7 48 c7 c6 60 7e ed c0 4c 89 4c 24 10 89 44 24 08 e8 e0 35 00 00 8b 44 24 08 4c 8b 4c 24 10 e9 22 f8 ff ff <0f> 0b e9 7a f4 ff ff 8b b3 70 01 00 00 89 f2 89 c1 48 c7 c6 20 7e > RSP: 0018:ffffaba5456b7cc0 EFLAGS: 00010246 > RAX: 0000000000000000 RBX: ffff8d9b612a33a0 RCX: 0000000000000000 > RDX: 0000000000000001 RSI: 00000000fffffe01 RDI: ffffffffc0cca4ae > RBP: 00000000020674ff R08: 0000000000200000 R09: 0000000000000000 > R10: ffff8d9a6d490700 R11: 0000000039a6c800 R12: ffff8d9b612a33a8 > R13: ffff8d9b4bd31580 R14: ffff8d9b4bd31580 R15: ffff8d9b612a3500 > FS: 0000000000000000(0000) GS:ffff8d9b66440000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 0000556cca653b66 CR3: 000000027920a001 CR4: 00000000003606e0 > Call Trace: > ? ath10k_conf_tx+0x7a/0x4b0 [ath10k_core] > ieee80211_bss_info_change_notify+0xab/0x1a0 [mac80211] > ieee80211_reconfig+0x66c/0x1300 [mac80211] > ? __switch_to_asm+0x34/0x70 > ? __switch_to_asm+0x34/0x70 > ? __switch_to_asm+0x40/0x70 > wiphy_resume+0x7f/0x120 [cfg80211] > ? index_show+0x20/0x20 [cfg80211] > dpm_run_callback+0x59/0x150 > device_resume+0xac/0x1f0 > async_resume+0x19/0x30 > async_run_entry_fn+0x39/0x160 > process_one_work+0x1a1/0x3a0 > worker_thread+0x30/0x380 > ? process_one_work+0x3a0/0x3a0 > kthread+0x112/0x130 > ? kthread_create_on_node+0x60/0x60 > ret_from_fork+0x35/0x40 > ---[ end trace 0afe382792dba858 ]--- > > These errors are completely transient, and the card goes back to working > perfectly fine afterwards. I suspect the driver is just reading an > uninitialized buffer as the card comes back up. > > In any case, there's no point in treating this as a major problem and > logging a full register dump and a traceback; just logginng an INFO > message saying that it happened is enough. This patch does that. > > Signed-off-by: Peter Jones > --- > drivers/net/wireless/ath/ath10k/htc.c | 4 ++-- > drivers/net/wireless/ath/ath10k/sdio.c | 2 +- > drivers/net/wireless/ath/ath10k/wmi-tlv.c | 2 +- > drivers/net/wireless/ath/ath10k/wmi.c | 8 ++++---- > 4 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath10k/htc.c b/drivers/net/wireless/ath/ath10k/htc.c > index 805a7f8a04f..c244889b72e 100644 > --- a/drivers/net/wireless/ath/ath10k/htc.c > +++ b/drivers/net/wireless/ath/ath10k/htc.c > @@ -799,7 +799,7 @@ int ath10k_htc_connect_service(struct ath10k_htc *htc, > &ep->ul_pipe_id, > &ep->dl_pipe_id); > if (status) { > - ath10k_warn(ar, "unsupported HTC service id: %d\n", > + ath10k_info(ar, "unsupported HTC service id: %d\n", > ep->service_id); > return status; > } > @@ -877,7 +877,7 @@ static bool ath10k_htc_pktlog_svc_supported(struct ath10k *ar) > &ul_pipe_id, > &dl_pipe_id); > if (status) { > - ath10k_warn(ar, "unsupported HTC service id: %d\n", > + ath10k_info(ar, "unsupported HTC service id: %d\n", > ATH10K_HTC_SVC_ID_HTT_LOG_MSG); > > return false; > diff --git a/drivers/net/wireless/ath/ath10k/sdio.c b/drivers/net/wireless/ath/ath10k/sdio.c > index fae56c67766..a265225216e 100644 > --- a/drivers/net/wireless/ath/ath10k/sdio.c > +++ b/drivers/net/wireless/ath/ath10k/sdio.c > @@ -1871,7 +1871,7 @@ static int ath10k_sdio_hif_map_service_to_pipe(struct ath10k *ar, > ar_sdio->mbox_addr[eid], ar_sdio->mbox_size[eid]); > break; > default: > - ath10k_warn(ar, "unsupported HTC service id: %d\n", > + ath10k_info(ar, "unsupported HTC service id: %d\n", > service_id); > return -EINVAL; > } > diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c > index 582fb11f648..ca990c8d306 100644 > --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c > +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c > @@ -614,7 +614,7 @@ static void ath10k_wmi_tlv_op_rx(struct ath10k *ar, struct sk_buff *skb) > ath10k_wmi_event_mgmt_tx_bundle_compl(ar, skb); > break; > default: > - ath10k_dbg(ar, ATH10K_DBG_WMI, "Unknown eventid: %d\n", id); > + ath10k_info(ar, ATH10K_DBG_WMI, "Unknown eventid: %d\n", id); > break; > } > > diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c > index 98a90e49d66..f4fa406d9fe 100644 > --- a/drivers/net/wireless/ath/ath10k/wmi.c > +++ b/drivers/net/wireless/ath/ath10k/wmi.c > @@ -5850,7 +5850,7 @@ static void ath10k_wmi_op_rx(struct ath10k *ar, struct sk_buff *skb) > ath10k_wmi_event_service_available(ar, skb); > break; > default: > - ath10k_warn(ar, "Unknown eventid: %d\n", id); > + ath10k_info(ar, "Unknown eventid: %d\n", id); > break; > } > > @@ -5981,7 +5981,7 @@ static void ath10k_wmi_10_1_op_rx(struct ath10k *ar, struct sk_buff *skb) > /* ignore utf events */ > break; > default: > - ath10k_warn(ar, "Unknown eventid: %d\n", id); > + ath10k_info(ar, "Unknown eventid: %d\n", id); > break; > } > > @@ -6130,7 +6130,7 @@ static void ath10k_wmi_10_2_op_rx(struct ath10k *ar, struct sk_buff *skb) > ath10k_wmi_event_peer_sta_ps_state_chg(ar, skb); > break; > default: > - ath10k_warn(ar, "Unknown eventid: %d\n", id); > + ath10k_info(ar, "Unknown eventid: %d\n", id); > break; > } > > @@ -6250,7 +6250,7 @@ static void ath10k_wmi_10_4_op_rx(struct ath10k *ar, struct sk_buff *skb) > ath10k_wmi_event_peer_sta_ps_state_chg(ar, skb); > break; > default: > - ath10k_warn(ar, "Unknown eventid: %d\n", id); > + ath10k_info(ar, "Unknown eventid: %d\n", id); > break; > } > > -- Ben Greear Candela Technologies Inc http://www.candelatech.com