All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Daniel Wagner <dwagner@suse.de>
Cc: UNGLinuxDriver@microchip.com, netdev@vger.kernel.org,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-rt-users@vger.kernel.org,
	Woojung Huh <woojung.huh@microchip.com>,
	Andrew Lunn <andrew@lunn.ch>, Stefan Wahren <wahrenst@gmx.net>,
	Jisheng Zhang <Jisheng.Zhang@synaptics.com>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH] net: usb: lan78xx: Use phy_mac_interrupt() for interrupt handling
Date: Fri, 18 Oct 2019 12:02:10 +0100	[thread overview]
Message-ID: <86imomz58t.wl-maz@kernel.org> (raw)
In-Reply-To: <20191018082817.111480-1-dwagner@suse.de>

On Fri, 18 Oct 2019 09:28:17 +0100,
Daniel Wagner <dwagner@suse.de> wrote:
> 
> handle_simple_irq() expect interrupts to be disabled. The USB
> framework is using threaded interrupts, which implies that interrupts
> are re-enabled as soon as it has run.
> 
> This reverts the changes from cc89c323a30e ("lan78xx: Use irq_domain
> for phy interrupt from USB Int. EP").
> 
> [    4.886203] 000: irq 79 handler irq_default_primary_handler+0x0/0x8 enabled interrupts
> [    4.886243] 000: WARNING: CPU: 0 PID: 0 at kernel/irq/handle.c:152 __handle_irq_event_percpu+0x154/0x168
> [    4.896294] 000: Modules linked in:
> [    4.896301] 000: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.3.6 #39
> [    4.896310] 000: Hardware name: Raspberry Pi 3 Model B+ (DT)
> [    4.896315] 000: pstate: 60000005 (nZCv daif -PAN -UAO)
> [    4.896321] 000: pc : __handle_irq_event_percpu+0x154/0x168
> [    4.896331] 000: lr : __handle_irq_event_percpu+0x154/0x168
> [    4.896339] 000: sp : ffff000010003cc0
> [    4.896346] 000: x29: ffff000010003cc0 x28: 0000000000000060
> [    4.896355] 000: x27: ffff000011021980 x26: ffff00001189c72b
> [    4.896364] 000: x25: ffff000011702bc0 x24: ffff800036d6e400
> [    4.896373] 000: x23: 000000000000004f x22: ffff000010003d64
> [    4.896381] 000: x21: 0000000000000000 x20: 0000000000000002
> [    4.896390] 000: x19: ffff8000371c8480 x18: 0000000000000060
> [    4.896398] 000: x17: 0000000000000000 x16: 00000000000000eb
> [    4.896406] 000: x15: ffff000011712d18 x14: 7265746e69206465
> [    4.896414] 000: x13: ffff000010003ba0 x12: ffff000011712df0
> [    4.896422] 000: x11: 0000000000000001 x10: ffff000011712e08
> [    4.896430] 000: x9 : 0000000000000001 x8 : 000000000003c920
> [    4.896437] 000: x7 : ffff0000118cc410 x6 : ffff0000118c7f00
> [    4.896445] 000: x5 : 000000000003c920 x4 : 0000000000004510
> [    4.896453] 000: x3 : ffff000011712dc8 x2 : 0000000000000000
> [    4.896461] 000: x1 : 73a3f67df94c1500 x0 : 0000000000000000
> [    4.896466] 000: Call trace:
> [    4.896471] 000:  __handle_irq_event_percpu+0x154/0x168
> [    4.896481] 000:  handle_irq_event_percpu+0x50/0xb0
> [    4.896489] 000:  handle_irq_event+0x40/0x98
> [    4.896497] 000:  handle_simple_irq+0xa4/0xf0
> [    4.896505] 000:  generic_handle_irq+0x24/0x38
> [    4.896513] 000:  intr_complete+0xb0/0xe0
> [    4.896525] 000:  __usb_hcd_giveback_urb+0x58/0xd8
> [    4.896533] 000:  usb_giveback_urb_bh+0xd0/0x170
> [    4.896539] 000:  tasklet_action_common.isra.0+0x9c/0x128
> [    4.896549] 000:  tasklet_hi_action+0x24/0x30
> [    4.896556] 000:  __do_softirq+0x120/0x23c
> [    4.896564] 000:  irq_exit+0xb8/0xd8
> [    4.896571] 000:  __handle_domain_irq+0x64/0xb8
> [    4.896579] 000:  bcm2836_arm_irqchip_handle_irq+0x60/0xc0
> [    4.896586] 000:  el1_irq+0xb8/0x140
> [    4.896592] 000:  arch_cpu_idle+0x10/0x18
> [    4.896601] 000:  do_idle+0x200/0x280
> [    4.896608] 000:  cpu_startup_entry+0x20/0x28
> [    4.896615] 000:  rest_init+0xb4/0xc0
> [    4.896623] 000:  arch_call_rest_init+0xc/0x14
> [    4.896632] 000:  start_kernel+0x454/0x480
> 
> [dwagner: Updated Jisheng's initial patch]
> 
> Fixes: cc89c323a30e ("lan78xx: Use irq_domain for phy interrupt from USB Int. EP")
> Cc: Woojung Huh <woojung.huh@microchip.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Andrew Lunn <andrew@lunn.ch>
> Cc: Stefan Wahren <wahrenst@gmx.net>
> Cc: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Daniel Wagner <dwagner@suse.de>
> ---
> Hi,
> 
> With Andrew's "net: usb: lan78xx: Connect PHY before registering MAC"
> and this patch I am able to boot and use the RPi3 with -rt.
> 
> There was already a lot of dicussion on this topic but no fixes so
> far. So I just suggest to revert the original commit since it is not
> clear to me what it fixes:
> 
> https://www.spinics.net/lists/netdev/msg542290.html
> https://marc.info/?l=linux-netdev&m=154604180927252&w=2
> https://patchwork.kernel.org/patch/10888797/
> 
> Without this revert RPi3 is not usable for -rt at this point.

Acked-by: Marc Zyngier <maz@kernel.org>

	M.

-- 
Jazz is not dead, it just smells funny.

  reply	other threads:[~2019-10-18 11:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-18  8:28 [PATCH] net: usb: lan78xx: Use phy_mac_interrupt() for interrupt handling Daniel Wagner
2019-10-18 11:02 ` Marc Zyngier [this message]
2019-10-18 13:15 ` Sebastian Andrzej Siewior
2019-10-22 17:17   ` Jakub Kicinski
2019-10-22 17:34     ` Marc Zyngier
2019-10-23  7:47     ` Daniel Wagner
2019-10-23  8:06       ` Daniel Wagner
2019-10-24 10:43         ` Sebastian Andrzej Siewior
2019-10-24 11:06           ` Daniel Wagner
2019-10-24 14:12             ` Daniel Wagner
2019-10-24 17:25               ` Stefan Wahren
2019-10-25  7:33                 ` Daniel Wagner
2019-10-24 21:57 ` David Miller
2019-10-25  7:36   ` Sebastian Andrzej Siewior
2019-10-25  6:00 ` Stefan Wahren

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=86imomz58t.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=Jisheng.Zhang@synaptics.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=andrew@lunn.ch \
    --cc=bigeasy@linutronix.de \
    --cc=dwagner@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=wahrenst@gmx.net \
    --cc=woojung.huh@microchip.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.