All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Grumbach, Emmanuel" <emmanuel.grumbach@intel.com>
To: "toke@toke.dk" <toke@toke.dk>,
	"Coelho, Luciano" <luciano.coelho@intel.com>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"Greenman, Gregory" <gregory.greenman@intel.com>,
	"Stern, Avraham" <avraham.stern@intel.com>
Subject: Re: iwlwifi devices disappear after suspend on kernel 5.17
Date: Tue, 19 Apr 2022 17:46:41 +0000	[thread overview]
Message-ID: <e0872b6f468bfda08717214044b64187f71b4e18.camel@intel.com> (raw)
In-Reply-To: <87mtghs3y2.fsf@toke.dk>

On Tue, 2022-04-19 at 13:33 +0200, Toke Høiland-Jørgensen wrote:
> "Grumbach, Emmanuel" <emmanuel.grumbach@intel.com> writes:
> 
> > On Tue, 2022-04-19 at 09:41 +0300, Grumbach, Emmanuel wrote:
> > > Hi Toke,
> > > 
> > > On Tue, 2022-04-19 at 06:24 +0000, Coelho, Luciano wrote:
> > > > On Mon, 2022-04-18 at 13:36 +0200, Toke Høiland-Jørgensen wrote:
> > > > > Hi Luca
> > > > 
> > > > Hi Toke,
> > > > 
> > > > > I've started seeing issues with my iwlwifi interface going away after
> > > > > suspend. I get errors like these in dmesg:
> > > > > 
> > > > > [104393.142264] wlan0: deauthenticating from 4c:60:de:ea:b8:58 by local choice (Reason:
> > > > > 3=DEAUTH_LEAVING)
> > > > > [104393.347775] iwlmei 0000:00:16.0-13280904-7792-4fcb-a1aa-5e70cbb1e865: Couldn't get ACK
> > > > > from
> > > > > CSME on HOST_GOES_DOWN message
> > > > > [104393.347876] iwlmei 0000:00:16.0-13280904-7792-4fcb-a1aa-5e70cbb1e865: failed to send
> > > > > the
> > > > > SAP_ME_MSG_CHECK_SHARED_AREA message -19
> > > > > 
> > > > > And when the host comes back up, there is no connectivity. Restarting
> > > > > iwd fixes the problem.
> > > > > 
> > > > > This is on a 5.17.3 kernel (Arch Linux distribution kernel), and lspci
> > > > > says the WiFi device is an "Intel Corporation Wi-Fi 6 AX201".
> > > > > 
> > > > > Any ideas? :)
> > > > 
> > > > This seems to be related to iwlmei, so I added Emmanuel to the thread.
> > > > 
> > > 
> > > Can we have the full dmesg output?
> > > What NIC / platform do you have?
> > > Do you have AMT configured in the BIOS?
> > > Did you enable wireless operation in AMT?
> > 
> > Ah - this is AX201, ok, but I still need the platform and thefull dmesg :-)
> 
> It's a Lenovo ThinkPad X1 Carbon Gen 9, model 20XXS3HC26; AMT is set to
> "Disabled" in the BIOS. I rebooted and did a suspend/wake cycle after
> connecting to the WiFi network, which produced the dmesg below.

Thanks.
This is a Skylake platform and we didn't have a handshake with CSME which is not enabled. We are
missing a check before we shut down iwlmei.
Can you check this?

diff --git a/drivers/net/wireless/intel/iwlwifi/mei/main.c
b/drivers/net/wireless/intel/iwlwifi/mei/main.c
index 8d61044a6ed3..7b45382c813c 100644
--- a/drivers/net/wireless/intel/iwlwifi/mei/main.c
+++ b/drivers/net/wireless/intel/iwlwifi/mei/main.c
@@ -1923,29 +1923,33 @@ static void iwl_mei_remove(struct mei_cl_device *cldev)
 
        mutex_lock(&iwl_mei_mutex);
 
-       /*
-        * Tell CSME that we are going down so that it won't access the
-        * memory anymore, make sure this message goes through immediately.
-        */
-       mei->csa_throttled = false;
-       iwl_mei_send_sap_msg(mei->cldev,
-                            SAP_MSG_NOTIF_HOST_GOES_DOWN);
+       if (iwl_mei_is_connected())
+       {
+               /*
+                * Tell CSME that we are going down so that it won't access the
+                * memory anymore, make sure this message goes through immediately.
+                */
+               mei->csa_throttled = false;
+               iwl_mei_send_sap_msg(mei->cldev,
+                                    SAP_MSG_NOTIF_HOST_GOES_DOWN);
 
-       for (i = 0; i < SEND_SAP_MAX_WAIT_ITERATION; i++) {
-               if (!iwl_mei_host_to_me_data_pending(mei))
-                       break;
+               for (i = 0; i < SEND_SAP_MAX_WAIT_ITERATION; i++) {
+                       if (!iwl_mei_host_to_me_data_pending(mei))
+                               break;
 
-               msleep(5);
-       }
+                       msleep(5);
+               }
 
-       /*
-        * If we couldn't make sure that CSME saw the HOST_GOES_DOWN message,
-        * it means that it will probably keep reading memory that we are going
-        * to unmap and free, expect IOMMU error messages.
-        */
-       if (i == SEND_SAP_MAX_WAIT_ITERATION)
-               dev_err(&mei->cldev->dev,
-                       "Couldn't get ACK from CSME on HOST_GOES_DOWN message\n");
+               /*
+                * If we couldn't make sure that CSME saw the HOST_GOES_DOWN
+                * message, it means that it will probably keep reading memory
+                * that we are going to unmap and free, expect IOMMU error
+                * messages.
+                */
+               if (i == SEND_SAP_MAX_WAIT_ITERATION)
+                       dev_err(&mei->cldev->dev,
+                               "Couldn't get ACK from CSME on HOST_GOES_DOWN message\n");
+       }
 
        mutex_unlock(&iwl_mei_mutex);
 

Although I think it'll just fix the error print and nothing more than this


  reply	other threads:[~2022-04-19 17:46 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-18 11:36 iwlwifi devices disappear after suspend on kernel 5.17 Toke Høiland-Jørgensen
2022-04-19  6:24 ` Coelho, Luciano
2022-04-19  6:41   ` Grumbach, Emmanuel
2022-04-19  6:56     ` Grumbach, Emmanuel
2022-04-19 11:33       ` Toke Høiland-Jørgensen
2022-04-19 17:46         ` Grumbach, Emmanuel [this message]
2022-04-19 18:35           ` Grumbach, Emmanuel
2022-04-19 20:58             ` Toke Høiland-Jørgensen
2022-04-20  4:48               ` Grumbach, Emmanuel
2022-04-20  9:49                 ` Toke Høiland-Jørgensen
2022-04-20 10:47                   ` Grumbach, Emmanuel
2022-04-20 11:03                     ` Toke Høiland-Jørgensen
2022-08-12 16:19                       ` Joachim Breitner
2022-08-13 21:03                         ` Grumbach, Emmanuel
2022-08-14 14:06                           ` Greenman, Gregory
2022-08-14 16:37                             ` Joachim Breitner
2022-08-15 11:03                               ` Toke Høiland-Jørgensen
2022-08-18  7:41                         ` Stern, Avraham
2022-08-18  7:55                           ` Grumbach, Emmanuel
2022-08-18  8:13                           ` Joachim Breitner
2022-04-19 11:19   ` Toke Høiland-Jørgensen
2022-04-19 14:59     ` Coelho, Luciano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e0872b6f468bfda08717214044b64187f71b4e18.camel@intel.com \
    --to=emmanuel.grumbach@intel.com \
    --cc=avraham.stern@intel.com \
    --cc=gregory.greenman@intel.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=luciano.coelho@intel.com \
    --cc=toke@toke.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.