All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@codeaurora.org>
To: Hui Wang <hui.wang@canonical.com>
Cc: brudley@broadcom.com, arend@broadcom.com, frankyl@broadcom.com,
	meuleman@broadcom.com, pieterpg@broadcom.com,
	linux-wireless@vger.kernel.org, brcm80211-dev-list@broadcom.com,
	hui.wang@canonical.com
Subject: Re: brcmfmac: Remove waitqueue_active check
Date: Thu, 10 Mar 2016 12:58:22 +0000 (UTC)	[thread overview]
Message-ID: <20160310125822.6F63E60DB3@smtp.codeaurora.org> (raw)
In-Reply-To: <1457508326-24420-1-git-send-email-hui.wang@canonical.com>


> We met a problem of pm_suspend  when repeated closing/opening the lid
> on a Lenovo laptop (1/20 reproduce rate), below is the log:
> 
> [ 199.735876] PM: Entering mem sleep
> [ 199.750516] e1000e: EEE TX LPI TIMER: 00000011
> [ 199.856638] Trying to free nonexistent resource <000000000000d000-000000000000d0ff>
> [ 201.753566] brcmfmac: brcmf_pcie_suspend: Timeout on response for entering D3 substate
> [ 201.753581] pci_legacy_suspend(): brcmf_pcie_suspend+0x0/0x1f0 [brcmfmac] returns -5
> [ 201.753585] dpm_run_callback(): pci_pm_suspend+0x0/0x160 returns -5
> [ 201.753589] PM: Device 0000:04:00.0 failed to suspend async: error -5
> 
> Through debugging, we found when problem happens, it is not the device
> fails to enter D3, but the signal D3_ACK comes too early to pass the
> waitqueue_active() check.
> 
> Just like this:
> brcmf_pcie_send_mb_data(devinfo, BRCMF_H2D_HOST_D3_INFORM);
> // signal is triggered here
> wait_event_timeout(devinfo->mbdata_resp_wait, devinfo->mbdata_completed,
> 		   BRCMF_PCIE_MBDATA_TIMEOUT);
> 
> So far I think it is safe to remove waitqueue_active check since there
> is only one place to trigger this signal (sending
> BRCMF_H2D_HOST_D3_INFORM). And it is not a problem calling wake_up
> event earlier than calling wait_event.
> 
> Cc: Brett Rudley <brudley@broadcom.com>
> Cc: Hante Meuleman <meuleman@broadcom.com>
> Cc: Franky (Zhenhui) Lin <frankyl@broadcom.com>
> Cc: Pieter-Paul Giesberts <pieterpg@broadcom.com>
> Cc: Arend van Spriel <arend@broadcom.com>
> Signed-off-by: Hui Wang <hui.wang@canonical.com>

Thanks, applied to wireless-drivers-next.git.

Kalle Valo

      parent reply	other threads:[~2016-03-10 12:58 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-09  7:25 [PATCH] brcmfmac: Remove waitqueue_active check Hui Wang
2016-03-09  9:14 ` Hante Meuleman
2016-03-10 12:58 ` Kalle Valo [this message]

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=20160310125822.6F63E60DB3@smtp.codeaurora.org \
    --to=kvalo@codeaurora.org \
    --cc=arend@broadcom.com \
    --cc=brcm80211-dev-list@broadcom.com \
    --cc=brudley@broadcom.com \
    --cc=frankyl@broadcom.com \
    --cc=hui.wang@canonical.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=meuleman@broadcom.com \
    --cc=pieterpg@broadcom.com \
    /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.