Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 3064

kernel-2.6.18-238.el5.src.rpm

From: Scott Moser <smoser@redhat.com>
Subject: Re: [PATCH RHEL5u1] bz276871 s2io card can't work on RHEL5.1-snap3
Date: Mon, 17 Sep 2007 15:08:23 -0400 (EDT)
Bugzilla: 276871
Message-Id: <Pine.LNX.4.64.0709171507160.27130@squad5-lp1.lab.boston.redhat.com>
Changelog: [net] s2io: check for error_state in ISR

RHBZ#: 276871
------
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=276871

Description:
------------
When testing RHEL5u1 Snapshot 3, a bug was found in the s2io driver that
resulted in failure of the card to work (ping fails).

The change is adds a test to make sure error_state not 0 which is not
defined in pci_channel_state.

RHEL Version Found:
-------------------
2.6.18-41.el5

Test Status:
------------
To ensure cross platform build, this patch has been built with brew
applied to kernel-2.6.18-47.el5. The build is available at [1].

This patch has been tested by Jim Huang of IBM.  With the patched kernel he
was able to run network FVT and netperf test cases on the card.

Proposed Patch:
----------------
Please review and ACK for RHEL5.1

Index: b/drivers/net/s2io.c
===================================================================
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -4210,7 +4210,8 @@ static irqreturn_t s2io_isr(int irq, voi
 	struct config_param *config;
 
 	/* Pretend we handled any irq's from a disconnected card */
-	if (sp->pdev->error_state != pci_channel_io_normal)
+	if ((sp->pdev->error_state != pci_channel_io_normal) &&
+	    (sp->pdev->error_state != 0))
 		return IRQ_NONE;
 
 	atomic_inc(&sp->isr_cnt);