From: "Heiko Stübner" <heiko@sntech.de>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Otavio Salvador <otavio.salvador@ossystems.com.br>,
netdev@vger.kernel.org, david.choi@micrel.com,
Andy Yan <andy.yan@rock-chips.com>
Subject: Re: Linux kernel hangs if using RV1108 with MSZ8863 switch with two ports connected
Date: Sun, 18 Nov 2018 23:27:27 +0100 [thread overview]
Message-ID: <11209615.mQtP5Z6vsr@diego> (raw)
In-Reply-To: <20181118181230.GD7446@lunn.ch>
Hi all,
Am Sonntag, 18. November 2018, 19:12:30 CET schrieb Andrew Lunn:
> > The kernel starts booting normally and then hangs like this when two
> > Ethernet cables are connected to the KSZ8863 switch:
> > http://dark-code.bulix.org/3xexu5-507563
>
> > This has the lock detection, inside kernel hacking, enabled.
>
> Maybe turn on all the hung-task debug and magic key support. With
> magic key, you might be able to get a backtrace of where it is
> spinning.
>
> Maybe also add #define DEBUG at the top of drivers/net/phy/phy.c.
> Does it hang during a PHY state transition?
>
> Maybe both PHYs are interrupting at the same time, and the interrupt
> code is broken?
>
> Maybe look at the switch driver and see if there is any code which is
> executed on link up. Put some printk() in there.
>
> If you PHYs are using interrupt mode, maybe disable that and use
> polling.
>
> Do you know if this ever worked properly before? If you know when it
> did work, you can do a git bisect to narrow it down to the one patch
> which broke it..
>
> Basically, at the moment, you just need to try lots of things, to
> narrow it down.
Your hang also seems to happen around the time the kernel disables
unused clocks and regulators.
So you might also try with these functions disabled, as it may be caused
by some clock or regulator handled wrongly there (I think it's called
clk_ignore_unused as kernel commandline but please double-check
and you'll need to check for a regulator equivalent yourself).
And as I think it might be some sort of driver-related issue, you could
also enable debugging in the driver-core [drivers/base/dd.c]
by either #define DEBUG or just redefining dev_dbg temporarily ;-)
#define dev_dbg dev_warn
or so.
That may help finding the culprit of your hang.
Heiko
prev parent reply other threads:[~2018-11-19 8:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-16 18:28 Linux kernel hangs if using RV1108 with MSZ8863 switch with two ports connected Otavio Salvador
2018-11-16 23:40 ` Andrew Lunn
2018-11-17 21:04 ` Otavio Salvador
2018-11-18 18:12 ` Andrew Lunn
2018-11-18 22:27 ` Heiko Stübner [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=11209615.mQtP5Z6vsr@diego \
--to=heiko@sntech.de \
--cc=andrew@lunn.ch \
--cc=andy.yan@rock-chips.com \
--cc=david.choi@micrel.com \
--cc=netdev@vger.kernel.org \
--cc=otavio.salvador@ossystems.com.br \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).