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  linux-hardening  linux-cve-announce  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:	Fri, 20 Dec 2013 10:24:05 -0800
From:	Florian Fainelli <f.fainelli@...il.com>
To:	Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
Cc:	netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH] phy: IRQ cannot be shared

2013/12/20 Sergei Shtylyov <sergei.shtylyov@...entembedded.com>:
> With the way PHY IRQ handler is implemented (all real handling being pushed to
> the workqueue and returning IRQ_HANDLED all the time PHY is active), we cannot
> really claim that PHY IRQ can be shared when calling request_irq().

Looks good, in the future we might want to be able to let the Ethernet
MAC driver specify the flags to pass down to request_irq() but this is
good enough for me for the time being.

>
> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>

Acked-by: Florian Fainelli <f.fainelli@...il.com>

>
> ---
> The patch is against DaveM's 'net.git' repo.
> I recommend pushing it to the stable kernels as well.
>
>  drivers/net/phy/phy.c |    6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> Index: net/drivers/net/phy/phy.c
> ===================================================================
> --- net.orig/drivers/net/phy/phy.c
> +++ net/drivers/net/phy/phy.c
> @@ -565,10 +565,8 @@ int phy_start_interrupts(struct phy_devi
>         int err = 0;
>
>         atomic_set(&phydev->irq_disable, 0);
> -       if (request_irq(phydev->irq, phy_interrupt,
> -                               IRQF_SHARED,
> -                               "phy_interrupt",
> -                               phydev) < 0) {
> +       if (request_irq(phydev->irq, phy_interrupt, 0, "phy_interrupt",
> +                       phydev) < 0) {
>                 pr_warn("%s: Can't get IRQ %d (PHY)\n",
>                         phydev->bus->name, phydev->irq);
>                 phydev->irq = PHY_POLL;
> --
> 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



-- 
Florian
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ