Sophie

Sophie

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

kernel-2.6.18-194.11.1.el5.src.rpm

From: AMEET M. PARANJAPE <aparanja@redhat.com>
Date: Thu, 16 Apr 2009 15:18:59 -0400
Subject: [net] eHEA: mutex_unlock missing in eHEA error path
Message-id: 20090416191632.4337.2788.sendpatchset@squad5-lp1.lab.bos.redhat.com
O-Subject: [PATCH RHEL5.4 BZ482796] eHEA: mutex_unlock missing in eHEA error path
Bugzilla: 482796
RH-Acked-by: Andy Gospodarek <gospo@redhat.com>
RH-Acked-by: David Miller <davem@redhat.com>
RH-Acked-by: Jiri Pirko <jpirko@redhat.com>
RH-Acked-by: David Howells <dhowells@redhat.com>

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

Description:
===========
One mutex_unlock is missing in the error path of the eHEA function
ehea_rereg_mrs.

RHEL Version Found:
================
RHEL 5.3

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

Brew:
=====
Built on all platforms.
http://brewweb.devel.redhat.com/brew/taskinfo?taskID=1762317

Upstream Status:
================
A fix by Julia Lawall for this problem has been posted on the mailing list.

http://lkml.org/lkml/2008/7/21/50

This is a backport patch for RHEL5.4.

Test Status:
============
This driver with the patch has executed the following tests succesfully:
- ipv4: ping, flood ping, broadcast ping
- ipv6: ping, flood ping, TCP traffic
- flood ping with big pakets
- ftp tests with large files using 4 connections with TSO on/off
- ftp long run using 4 connections with TSO on/off
- netpipe
- netperf
- netperf via IPv6
- netperf using LRO
- netperf/udp
- vlan ping
- multicast basic
- dlpar memory add
- dlpar port add / remove
===============================================================
Ameet Paranjape 978-392-3903 ext 23903
IBM on-site partner

Proposed Patch:
===============

diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index ed5eb78..bb6f832 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -2957,9 +2957,9 @@ static void ehea_rereg_mrs(void *data)
 				}
 			}
 		}
-       mutex_unlock(&dlpar_mem_lock);
-       ehea_info("re-initializing driver complete");
+	ehea_info("re-initializing driver complete");
 out:
+	mutex_unlock(&dlpar_mem_lock);
 	return;
 }