lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 14 Aug 2014 15:03:31 +0400
From:	Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
To:	leroy christophe <christophe.leroy@....fr>,
	Florian Fainelli <f.fainelli@...il.com>,
	"David S. Miller" <davem@...emloft.net>
CC:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	netdev <netdev@...r.kernel.org>
Subject: Re: Issue with commit 33c133cc7598e60976a phy: IRQ cannot be shared

Hello.

On 8/14/2014 10:31 AM, leroy christophe wrote:

> I have an hardware with two ethernet interfaces, and with the two PHYs inside
> the same component INTEL LXT973 which has only one interrupt.
> I also have another hardware with two ethernet interfaces and two independant
> PHYs. But the two PHYs are wired to the same interrupt.
> This is working perfectly up to Linux 3.12.

    Hm, I'm surprised it works. Are you sure you're getting interrupts from 
both PHYs? Because if both Ethernet controllers are active simultaneously, 
only the first registered PHY IRQ handler should get all the interrupts.

> But since your commit, introduced in Linux 3.13, my interfaces don't work
> anymore as the second PHYs can't register IRQ.

    Strange too, the phylib should use polling in case request_irq() fails.

> Reading the commit log, I can't really understand the reason for the change.

    The shared IRQ handler should check for IRQ from its device and return 
IRQ_NONE if there's no IRQ active; phy_interrupt() doesn't do that (this is 
pushed to the workqueue).

> Is it really worth it, and therefore how shall my case be handled ?

    PHY IRQs are not necessary for the phylib state machine.

> Christophe

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists