Re: [PATCH] sky2: detect and prevent kernel panic from a possible faulty hardware

2013-07-31 Thread Oliver Neukum
On Tue, 2013-07-30 at 16:19 -0700, David Miller wrote:
> From: Samuel Williams 
> Date: Sat, 27 Jul 2013 15:35:54 -0500
> 
> > A possible faulty hardware might interrupt with a status of 0x which
> > may kernel panic if sky2 driver tries to handle it. Detecting this problem
> > may avoid kernel panic.
> > 
> > Signed-off-by: Samuel Williams 
> 
> Sure, but then the device is basically just going to stop.
> 
> I think this change needs to be more comprehensive, for example it
> needs to fully reset the device and try to get it operational again.

But sky2 is used in some hotremovable cards. You can hit the window
for this race. It is unlikely but still this simple check fixes a bug.

Regards
Oliver


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] sky2: detect and prevent kernel panic from a possible faulty hardware

2013-07-31 Thread Oliver Neukum
On Tue, 2013-07-30 at 16:19 -0700, David Miller wrote:
 From: Samuel Williams sam8...@gmail.com
 Date: Sat, 27 Jul 2013 15:35:54 -0500
 
  A possible faulty hardware might interrupt with a status of 0x which
  may kernel panic if sky2 driver tries to handle it. Detecting this problem
  may avoid kernel panic.
  
  Signed-off-by: Samuel Williams sam8...@gmail.com
 
 Sure, but then the device is basically just going to stop.
 
 I think this change needs to be more comprehensive, for example it
 needs to fully reset the device and try to get it operational again.

But sky2 is used in some hotremovable cards. You can hit the window
for this race. It is unlikely but still this simple check fixes a bug.

Regards
Oliver


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] sky2: detect and prevent kernel panic from a possible faulty hardware

2013-07-30 Thread Stephen Hemminger
On Tue, 30 Jul 2013 16:19:06 -0700 (PDT)
David Miller  wrote:

> From: Samuel Williams 
> Date: Sat, 27 Jul 2013 15:35:54 -0500
> 
> > A possible faulty hardware might interrupt with a status of 0x which
> > may kernel panic if sky2 driver tries to handle it. Detecting this problem
> > may avoid kernel panic.
> > 
> > Signed-off-by: Samuel Williams 
> 
> Sure, but then the device is basically just going to stop.
> 
> I think this change needs to be more comprehensive, for example it
> needs to fully reset the device and try to get it operational again.

Not only that it is going to assert IRQ until the device is hard
reset. Plus it is not clear that cleaning up after sick hardware
is possible at all.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] sky2: detect and prevent kernel panic from a possible faulty hardware

2013-07-30 Thread David Miller
From: Samuel Williams 
Date: Sat, 27 Jul 2013 15:35:54 -0500

> A possible faulty hardware might interrupt with a status of 0x which
> may kernel panic if sky2 driver tries to handle it. Detecting this problem
> may avoid kernel panic.
> 
> Signed-off-by: Samuel Williams 

Sure, but then the device is basically just going to stop.

I think this change needs to be more comprehensive, for example it
needs to fully reset the device and try to get it operational again.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] sky2: detect and prevent kernel panic from a possible faulty hardware

2013-07-30 Thread David Miller
From: Samuel Williams sam8...@gmail.com
Date: Sat, 27 Jul 2013 15:35:54 -0500

 A possible faulty hardware might interrupt with a status of 0x which
 may kernel panic if sky2 driver tries to handle it. Detecting this problem
 may avoid kernel panic.
 
 Signed-off-by: Samuel Williams sam8...@gmail.com

Sure, but then the device is basically just going to stop.

I think this change needs to be more comprehensive, for example it
needs to fully reset the device and try to get it operational again.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] sky2: detect and prevent kernel panic from a possible faulty hardware

2013-07-30 Thread Stephen Hemminger
On Tue, 30 Jul 2013 16:19:06 -0700 (PDT)
David Miller da...@davemloft.net wrote:

 From: Samuel Williams sam8...@gmail.com
 Date: Sat, 27 Jul 2013 15:35:54 -0500
 
  A possible faulty hardware might interrupt with a status of 0x which
  may kernel panic if sky2 driver tries to handle it. Detecting this problem
  may avoid kernel panic.
  
  Signed-off-by: Samuel Williams sam8...@gmail.com
 
 Sure, but then the device is basically just going to stop.
 
 I think this change needs to be more comprehensive, for example it
 needs to fully reset the device and try to get it operational again.

Not only that it is going to assert IRQ until the device is hard
reset. Plus it is not clear that cleaning up after sick hardware
is possible at all.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] sky2: detect and prevent kernel panic from a possible faulty hardware

2013-07-27 Thread Samuel Williams
A possible faulty hardware might interrupt with a status of 0x which
may kernel panic if sky2 driver tries to handle it. Detecting this problem
may avoid kernel panic.

Signed-off-by: Samuel Williams 
---
 drivers/net/ethernet/marvell/sky2.c |   11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/sky2.c 
b/drivers/net/ethernet/marvell/sky2.c
index e09a8c6..43fe2f3 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -3049,8 +3049,17 @@ static int sky2_poll(struct napi_struct *napi, int 
work_limit)
int work_done = 0;
u16 idx;
 
-   if (unlikely(status & Y2_IS_ERROR))
+   if (unlikely(status & Y2_IS_ERROR)) {
+   if (status == 0x) {
+   dev_err(>pdev->dev,
+   "fatal hardware inturrupt error\n");
+   napi_complete(napi);
+   napi_disable(>napi);
+   return 0;
+   }
sky2_err_intr(hw, status);
+   }
+
 
if (status & Y2_IS_IRQ_PHY1)
sky2_phy_intr(hw, 0);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] sky2: detect and prevent kernel panic from a possible faulty hardware

2013-07-27 Thread Samuel Williams
A possible faulty hardware might interrupt with a status of 0x which
may kernel panic if sky2 driver tries to handle it. Detecting this problem
may avoid kernel panic.

Signed-off-by: Samuel Williams sam8...@gmail.com
---
 drivers/net/ethernet/marvell/sky2.c |   11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/marvell/sky2.c 
b/drivers/net/ethernet/marvell/sky2.c
index e09a8c6..43fe2f3 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -3049,8 +3049,17 @@ static int sky2_poll(struct napi_struct *napi, int 
work_limit)
int work_done = 0;
u16 idx;
 
-   if (unlikely(status  Y2_IS_ERROR))
+   if (unlikely(status  Y2_IS_ERROR)) {
+   if (status == 0x) {
+   dev_err(hw-pdev-dev,
+   fatal hardware inturrupt error\n);
+   napi_complete(napi);
+   napi_disable(hw-napi);
+   return 0;
+   }
sky2_err_intr(hw, status);
+   }
+
 
if (status  Y2_IS_IRQ_PHY1)
sky2_phy_intr(hw, 0);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/