Skip to contentSkip to conversation

s390: qeth network driver.

PATCH New Martin Schwidefsky 1 participant 1 message Sep 20, 2004

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 s390: qeth network driver.

[PATCH] s390: qeth network driver.

From: Steffen Thoss <[email protected]>
From: Ursula Braun-Krahl <[email protected]>

qeth network driver change:
- Change misleading message about hardware ip fragmentation.
- Include qeth_snmp_ureq_hdr structure in user copy in qeth_snmp_command.

diffstat:

 drivers/s390/net/qeth_main.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)
drivers/s390/net/qeth_main.c +9 -8
diff -urN linux-2.6/drivers/s390/net/qeth_main.c linux-2.6-patched/drivers/s390/net/qeth_main.c
@@ -1,6 +1,6 @@
 /*
  *
- * linux/drivers/s390/net/qeth_main.c ($Revision: 1.132 $)
+ * linux/drivers/s390/net/qeth_main.c ($Revision: 1.138 $)
  *
  * Linux on zSeries OSA Express and HiperSockets support
  *
@@ -12,7 +12,7 @@
  *			  Frank Pavlic ([email protected]) and
  *		 	  Thomas Spatzier <[email protected]>
  *
- *    $Revision: 1.132 $	 $Date: 2004/08/19 12:39:43 $
+ *    $Revision: 1.138 $	 $Date: 2004/09/17 10:40:53 $
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -79,7 +79,7 @@
 #include "qeth_mpc.h"
 #include "qeth_fs.h"
 
-#define VERSION_QETH_C "$Revision: 1.132 $"
+#define VERSION_QETH_C "$Revision: 1.138 $"
 static const char *version = "qeth S/390 OSA-Express driver";
 
 /**
@@ -4373,12 +4373,13 @@
 	/* skip 4 bytes (data_len struct member) to get req_len */
 	if (copy_from_user(&req_len, udata + sizeof(int), sizeof(int)))
 		return -EFAULT;
-	ureq = kmalloc(req_len, GFP_KERNEL);
+	ureq = kmalloc(req_len+sizeof(struct qeth_snmp_ureq_hdr), GFP_KERNEL);
 	if (!ureq) {
 		QETH_DBF_TEXT(trace, 2, "snmpnome");
 		return -ENOMEM;
 	}
-	if (copy_from_user(ureq, udata, req_len)){
+	if (copy_from_user(ureq, udata,
+			req_len+sizeof(struct qeth_snmp_ureq_hdr))){
 		kfree(ureq);
 		return -EFAULT;
 	}
@@ -5743,7 +5744,7 @@
 	QETH_DBF_TEXT(trace,3,"ipaipfrg");
 
 	if (!qeth_is_supported(card, IPA_IP_FRAGMENTATION)) {
-		PRINT_INFO("IP fragmentation not supported on %s\n",
+		PRINT_INFO("Hardware IP fragmentation not supported on %s\n",
 			   card->info.if_name);
 		return  -EOPNOTSUPP;
 	}
@@ -5751,11 +5752,11 @@
 	rc = qeth_send_simple_setassparms(card, IPA_IP_FRAGMENTATION,
 					  IPA_CMD_ASS_START, 0);
 	if (rc) {
-		PRINT_WARN("Could not start IP fragmentation "
+		PRINT_WARN("Could not start Hardware IP fragmentation "
 			   "assist on %s: 0x%x\n",
 			   card->info.if_name, rc);
 	} else
-		PRINT_INFO("IP fragmentation enabled \n");
+		PRINT_INFO("Hardware IP fragmentation enabled \n");
 	return rc;
 }