From: Peter Wu <peter@lekensteyn.nl>
To: Hayes Wang <hayeswang@realtek.com>
Cc: "David S . Miller" <davem@davemloft.net>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Lu Baolu <baolu.lu@linux.intel.com>
Subject: Re: [PATCH] r8152: fix lockup when runtime PM is enabled
Date: Tue, 8 Dec 2015 12:10:08 +0100 [thread overview]
Message-ID: <20151208111008.GA18728@al> (raw)
In-Reply-To: <0835B3720019904CB8F7AA43166CEEB2F8D48F@RTITMBSV03.realtek.com.tw>
On Tue, Dec 08, 2015 at 03:18:59AM +0000, Hayes Wang wrote:
> Peter Wu
> > Sent: Tuesday, December 08, 2015 12:59 AM
> [...]
> > + if (tp->netdev->flags & IFF_UP) {
>
> Maybe you could just replace the checking of netif_running(tp->netdev)
> with this.
Simply replacing netif_running by IFF_UP does not work, it hangs during
close when the device is suspended. This patch is correct, but I have a
v2 patch that moves rtl_runtime_suspend_enable from close to suspend.
This is the evaluated scenario (run = netif_running, up = IFF_UP set):
# suspended before open
suspend (run=0, up=0)
open (run=1)
resume (run=1, up=0) <-- fixed by patch
(open ends)
# while up
suspend (run=1, up=1)
resume (run=1, up=1) <-- no issue, values match
suspend (run=1, up=1)
# close while suspended
close (run=0, up=1)
resume (run=0, up=1) <-- fixed in patch v2
(close cont and ends) <-- rtl_runtime_suspend_enable removed in v2
suspend (run=0, up=0)
# while down
resume (run=0, up=0)
suspend (run=0, up=0)
# open while suspended, open fails
open (run=1)
resume (run=1, up=0) <-- fixed by patch
(open fails)
suspend (run=0, up=0)
> Excuse me. I have a question. Before the open() is finished, the
> netif_running() would be true, but the IFF_UP wouldn't be set. Is it
> right?
That is right, this happens behind the scenes:
# open
netif_running = true
open()
if open succeeded
set IFF_UP
else
netif_running = false
# close
netif_running = false
close()
clear IFF_UP
--
Kind regards,
Peter Wu
https://lekensteyn.nl
prev parent reply other threads:[~2015-12-08 11:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-07 16:58 [PATCH] r8152: fix lockup when runtime PM is enabled Peter Wu
2015-12-08 3:18 ` Hayes Wang
2015-12-08 11:10 ` Peter Wu [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=20151208111008.GA18728@al \
--to=peter@lekensteyn.nl \
--cc=baolu.lu@linux.intel.com \
--cc=davem@davemloft.net \
--cc=hayeswang@realtek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/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.