All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next] net: phy: aquantia: do not return an error on clearing pending IRQs
@ 2020-11-09 15:46 Ioana Ciornei
  2020-11-11 16:44 ` Camelia Alexandra Groza
  2020-11-11 22:11 ` Jakub Kicinski
  0 siblings, 2 replies; 3+ messages in thread
From: Ioana Ciornei @ 2020-11-09 15:46 UTC (permalink / raw)
  To: kuba, netdev; +Cc: Ioana Ciornei

From: Ioana Ciornei <ioana.ciornei@nxp.com>

The referenced commit added in .config_intr() the part of code which upon
configuration of the IRQ state it also clears up any pending IRQ. If
there were actually pending IRQs, a read on the IRQ status register will
return something non zero. This should not result in the callback
returning an error.

Fix this by returning an error only when the result of the
phy_read_mmd() is negative.

Fixes: e11ef96d44f1 ("net: phy: aquantia: remove the use of .ack_interrupt()")
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
---
 drivers/net/phy/aquantia_main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/phy/aquantia_main.c b/drivers/net/phy/aquantia_main.c
index 345f70f9d39b..968dd43a2b1e 100644
--- a/drivers/net/phy/aquantia_main.c
+++ b/drivers/net/phy/aquantia_main.c
@@ -250,7 +250,7 @@ static int aqr_config_intr(struct phy_device *phydev)
 	if (en) {
 		/* Clear any pending interrupts before enabling them */
 		err = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_TX_VEND_INT_STATUS2);
-		if (err)
+		if (err < 0)
 			return err;
 	}
 
@@ -273,7 +273,7 @@ static int aqr_config_intr(struct phy_device *phydev)
 	if (!en) {
 		/* Clear any pending interrupts after we have disabled them */
 		err = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_TX_VEND_INT_STATUS2);
-		if (err)
+		if (err < 0)
 			return err;
 	}
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [PATCH net-next] net: phy: aquantia: do not return an error on clearing pending IRQs
  2020-11-09 15:46 [PATCH net-next] net: phy: aquantia: do not return an error on clearing pending IRQs Ioana Ciornei
@ 2020-11-11 16:44 ` Camelia Alexandra Groza
  2020-11-11 22:11 ` Jakub Kicinski
  1 sibling, 0 replies; 3+ messages in thread
From: Camelia Alexandra Groza @ 2020-11-11 16:44 UTC (permalink / raw)
  To: Ioana Ciornei, kuba, netdev; +Cc: Ioana Ciornei

> -----Original Message-----
> From: Ioana Ciornei <ciorneiioana@gmail.com>
> Sent: Monday, November 9, 2020 17:46
> To: kuba@kernel.org; netdev@vger.kernel.org
> Cc: Ioana Ciornei <ioana.ciornei@nxp.com>
> Subject: [PATCH net-next] net: phy: aquantia: do not return an error on
> clearing pending IRQs
> 
> From: Ioana Ciornei <ioana.ciornei@nxp.com>
> 
> The referenced commit added in .config_intr() the part of code which upon
> configuration of the IRQ state it also clears up any pending IRQ. If
> there were actually pending IRQs, a read on the IRQ status register will
> return something non zero. This should not result in the callback
> returning an error.
> 
> Fix this by returning an error only when the result of the
> phy_read_mmd() is negative.
> 
> Fixes: e11ef96d44f1 ("net: phy: aquantia: remove the use of
> .ack_interrupt()")
> Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>

I ran into this issue recently. Thanks for the fix.

Tested-by: Camelia Groza <camelia.groza@nxp.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] net: phy: aquantia: do not return an error on clearing pending IRQs
  2020-11-09 15:46 [PATCH net-next] net: phy: aquantia: do not return an error on clearing pending IRQs Ioana Ciornei
  2020-11-11 16:44 ` Camelia Alexandra Groza
@ 2020-11-11 22:11 ` Jakub Kicinski
  1 sibling, 0 replies; 3+ messages in thread
From: Jakub Kicinski @ 2020-11-11 22:11 UTC (permalink / raw)
  To: Ioana Ciornei; +Cc: netdev, Ioana Ciornei

On Mon,  9 Nov 2020 17:46:01 +0200 Ioana Ciornei wrote:
> From: Ioana Ciornei <ioana.ciornei@nxp.com>
> 
> The referenced commit added in .config_intr() the part of code which upon
> configuration of the IRQ state it also clears up any pending IRQ. If
> there were actually pending IRQs, a read on the IRQ status register will
> return something non zero. This should not result in the callback
> returning an error.
> 
> Fix this by returning an error only when the result of the
> phy_read_mmd() is negative.
> 
> Fixes: e11ef96d44f1 ("net: phy: aquantia: remove the use of .ack_interrupt()")
> Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>

Applied, thanks!

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-11-11 22:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-09 15:46 [PATCH net-next] net: phy: aquantia: do not return an error on clearing pending IRQs Ioana Ciornei
2020-11-11 16:44 ` Camelia Alexandra Groza
2020-11-11 22:11 ` Jakub Kicinski

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.