Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 2070

kernel-2.6.18-194.11.1.el5.src.rpm

From: Steve Best <sbest@redhat.com>
Date: Tue, 16 Feb 2010 20:58:47 -0500
Subject: [net] cxgb3: memory barrier addition fixup
Message-id: <20100216205121.1429.49312.sendpatchset@squad5-lp1.lab.bos.redhat.com>
Patchwork-id: 23299
O-Subject: [PATCH RHEL5.5 BZ561957 v2] cxgb3: add memory barriers
Bugzilla: 561957
RH-Acked-by: Andy Gospodarek <gospo@redhat.com>
RH-Acked-by: David Howells <dhowells@redhat.com>

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

Description:
============
Add memory barriers to fix crashes observed on newest PowerPC platforms.
The HW and driver state of the receive rings were getting out of sync.

V2 - fix issue David pointed out.
     while should be for is_pure_response not is_new_response
     now patch matches upstream

RHEL Version Found:
===================
RHEL 5.5

kABI Status:
============
No symbols were harmed.

Brew:
=====
https://brewweb.devel.redhat.com/taskinfo?taskID=2257797

Upstream Status:
================
http://lkml.indiana.edu/hypermail/linux/kernel/1002.0/00312.html
upstream accepted here
http://patchwork.ozlabs.org/patch/44225/

Test Status:
============
Tested by IBM test team using HTX
---Steps to Reproduce---
(1)Set up HTX on both of lpars on P7.
(2)Set up HTX stress level to 5, then start HTX runs.
(3)After about 10 hours, one of system hits EEH error.

Signed-off-by: Jarod Wilson <jarod@redhat.com>

diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
index 8a38915..4d44cec 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -2507,7 +2507,7 @@ static int process_pure_responses(struct adapter *adap, struct sge_qset *qs,
 		if (!is_new_response(r, q))
 			break;
 		rmb();
-	} while (is_new_response(r, q));
+	} while (is_pure_response(r));
 
 	if (sleeping)
 		check_ring_db(adap, qs, sleeping);