[PATCH] sky2: fix missing register reset on error path in sky2_test_msi()

Subsystems: marvell gigabit ethernet drivers (skge/sky2), networking drivers, the rest

STALE5271d

7 messages, 3 authors, 2012-04-03 · open the first message on its own page

[PATCH] sky2: fix missing register reset on error path in sky2_test_msi()

From: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Date: 2012-03-30 17:36:19

In sky2_test_msi() the temporarily set SW IRQ in B0 register is not reset in case
that request_irq() fails.
With this patch we only set the interrupt mask if request_irq() was successful.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
---
 This applies against 3.3

 drivers/net/ethernet/marvell/sky2.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index 760c2b1..0e23ce4 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -4795,14 +4795,14 @@ static int __devinit sky2_test_msi(struct sky2_hw *hw)
 
 	init_waitqueue_head(&hw->msi_wait);
 
-	sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW);
-
 	err = request_irq(pdev->irq, sky2_test_intr, 0, DRV_NAME, hw);
 	if (err) {
 		dev_err(&pdev->dev, "cannot assign irq %d\n", pdev->irq);
 		return err;
 	}
 
+	sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW);
+
 	sky2_write8(hw, B0_CTST, CS_ST_SW_IRQ);
 	sky2_read8(hw, B0_CTST);
 
-- 
1.5.6.5

Re: [PATCH] sky2: fix missing register reset on error path in sky2_test_msi()

From: David Miller <davem@davemloft.net>
Date: 2012-04-01 20:11:30

From: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Date: Fri, 30 Mar 2012 19:36:16 +0200
In sky2_test_msi() the temporarily set SW IRQ in B0 register is not reset in case
that request_irq() fails.
With this patch we only set the interrupt mask if request_irq() was successful.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Stephen, ping?

Re: [PATCH] sky2: fix missing register reset on error path in sky2_test_msi()

From: Stephen Hemminger <hidden>
Date: 2012-04-03 18:55:53

On Fri, 30 Mar 2012 19:36:16 +0200
Lino Sanfilippo [off-list ref] wrote:
In sky2_test_msi() the temporarily set SW IRQ in B0 register is not reset in case
that request_irq() fails.
With this patch we only set the interrupt mask if request_irq() was successful.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Ok, but this is a non-serious error case. If request_irq() fails here,
the driver is going to fail to load and on the failure path of
sky2_probe will reset the chip on the way out.

Re: [PATCH] sky2: fix missing register reset on error path in sky2_test_msi()

From: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Date: 2012-04-03 20:09:51

On Tue, Apr 03, 2012 at 11:55:47AM -0700, Stephen Hemminger wrote:
Ok, but this is a non-serious error case. If request_irq() fails here,
the driver is going to fail to load and on the failure path of
sky2_probe will reset the chip on the way out.
Youre right, this is more a cosmetic change than a fix for a real bug. 

Re: [PATCH] sky2: fix missing register reset on error path in sky2_test_msi()

From: David Miller <davem@davemloft.net>
Date: 2012-04-03 20:30:21

From: Stephen Hemminger <redacted>
Date: Tue, 3 Apr 2012 11:55:47 -0700
On Fri, 30 Mar 2012 19:36:16 +0200
Lino Sanfilippo [off-list ref] wrote:
quoted
In sky2_test_msi() the temporarily set SW IRQ in B0 register is not reset in case
that request_irq() fails.
With this patch we only set the interrupt mask if request_irq() was successful.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Ok, but this is a non-serious error case. If request_irq() fails here,
the driver is going to fail to load and on the failure path of
sky2_probe will reset the chip on the way out.
So, ACK for net-next?  Toss it?  What?

Re: [PATCH] sky2: fix missing register reset on error path in sky2_test_msi()

From: Stephen Hemminger <hidden>
Date: 2012-04-03 20:59:59

On Tue, 03 Apr 2012 16:30:08 -0400 (EDT)
David Miller [off-list ref] wrote:
From: Stephen Hemminger <redacted>
Date: Tue, 3 Apr 2012 11:55:47 -0700
quoted
On Fri, 30 Mar 2012 19:36:16 +0200
Lino Sanfilippo [off-list ref] wrote:
quoted
In sky2_test_msi() the temporarily set SW IRQ in B0 register is not reset in case
that request_irq() fails.
With this patch we only set the interrupt mask if request_irq() was successful.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Ok, but this is a non-serious error case. If request_irq() fails here,
the driver is going to fail to load and on the failure path of
sky2_probe will reset the chip on the way out.
So, ACK for net-next?  Toss it?  What?
Put it in net-next, no need for net or stable.

Re: [PATCH] sky2: fix missing register reset on error path in sky2_test_msi()

From: David Miller <davem@davemloft.net>
Date: 2012-04-03 21:08:47

From: Stephen Hemminger <redacted>
Date: Tue, 3 Apr 2012 13:59:54 -0700
On Tue, 03 Apr 2012 16:30:08 -0400 (EDT)
David Miller [off-list ref] wrote:
quoted
From: Stephen Hemminger <redacted>
Date: Tue, 3 Apr 2012 11:55:47 -0700
quoted
On Fri, 30 Mar 2012 19:36:16 +0200
Lino Sanfilippo [off-list ref] wrote:
quoted
In sky2_test_msi() the temporarily set SW IRQ in B0 register is not reset in case
that request_irq() fails.
With this patch we only set the interrupt mask if request_irq() was successful.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Ok, but this is a non-serious error case. If request_irq() fails here,
the driver is going to fail to load and on the failure path of
sky2_probe will reset the chip on the way out.
So, ACK for net-next?  Toss it?  What?
Put it in net-next, no need for net or stable.
Done, thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help