Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > ea32411352494358b8d75a78402a4713 > files > 4056

kernel-2.6.18-238.19.1.el5.centos.plus.src.rpm

From: Hendrik Brueckner <brueckner@redhat.com>
Date: Tue, 26 Oct 2010 10:05:11 -0400
Subject: [s390] qeth: portno 1 support for OSM-device insufficient
Message-id: <20101026100509.GA24860@redhat.com>
Patchwork-id: 28910
O-Subject: [RHEL5.6 PATCH 1/1] [s390x] qeth: portno 1 support for OSM-device
	insufficient
Bugzilla: 644008

Description
-----------
Pings are not successful if OSM-device uses portno 1.

OSA Express 3 cards in OSD and OSM mode offer an additional
portno 1.  During initialization of an OSA-device the portno
must be specified in several steps.  Especially OSM-devices
require portno-definition in 2 further initialization steps.

Add necessary portno definitions to the appropriate
initialization steps of a qeth device.

Bugzilla
--------
BZ 644008
https://bugzilla.redhat.com/show_bug.cgi?id=644008

Upstream status of the patch
----------------------------
The patch is upstream as of kernel version 2.6.26
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=4a71df50047f0db65ea09b1be155852e81a45eba

Test status
-----------
The patch has been tested and fixes the problem.
The fix has been verified by the IBM test department.


diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c
index a36bf28..157eb38 100644
--- a/drivers/s390/net/qeth_main.c
+++ b/drivers/s390/net/qeth_main.c
@@ -2166,9 +2166,8 @@ qeth_ulp_enable(struct qeth_card *card)
 	iob = qeth_wait_for_buffer(&card->write);
 	memcpy(iob->data, ULP_ENABLE, ULP_ENABLE_SIZE);
 
-	if (card->info.link_type == QETH_LINK_TYPE_ATM_NATIVE)
-		*(QETH_ULP_ENABLE_LINKNUM(iob->data)) =
-			(__u8) card->info.portno;
+	*(QETH_ULP_ENABLE_LINKNUM(iob->data)) =
+		(__u8) card->info.portno;
 	if (card->options.layer2)
 		if (card->info.type == QETH_CARD_TYPE_OSN)
 			prot_type = QETH_PROT_OSN2;
@@ -6296,8 +6295,7 @@ qeth_fill_ipacmd_header(struct qeth_card *card, struct qeth_ipa_cmd *cmd,
 	cmd->hdr.initiator = IPA_CMD_INITIATOR_HOST;
 	cmd->hdr.seqno = card->seqno.ipa;
 	cmd->hdr.adapter_type = qeth_get_ipa_adp_type(card->info.link_type);
-	if (card->info.link_type == QETH_LINK_TYPE_ATM_NATIVE)
-		cmd->hdr.rel_adapter_no = (__u8) card->info.portno;
+	cmd->hdr.rel_adapter_no = (__u8) card->info.portno;
 	if (card->options.layer2)
 		cmd->hdr.prim_version_no = 2;
 	else