[patch 4/9] s390: qeth layer2 fixes.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[patch 4/9] s390: qeth layer2 fixes.

From: Frank Pavlic <pavlic@xxxxxxxxxx>

qeth network driver changes:
 - Clear qeth header struct in qeth_fill_header.
 - Drop broadcast packets in qeth_send_packet if the card
   can't do broadcasts.

Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

diffstat:
 drivers/s390/net/qeth_main.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff -urpN linux-2.6/drivers/s390/net/qeth_main.c linux-2.6-patched/drivers/s390/net/qeth_main.c
--- linux-2.6/drivers/s390/net/qeth_main.c	2005-03-24 14:02:47.000000000 +0100
+++ linux-2.6-patched/drivers/s390/net/qeth_main.c	2005-03-24 14:03:02.000000000 +0100
@@ -1,6 +1,6 @@
 /*
  *
- * linux/drivers/s390/net/qeth_main.c ($Revision: 1.203 $)
+ * linux/drivers/s390/net/qeth_main.c ($Revision: 1.206 $)
  *
  * Linux on zSeries OSA Express and HiperSockets support
  *
@@ -12,7 +12,7 @@
  *			  Frank Pavlic (pavlic@xxxxxxxxxx) and
  *		 	  Thomas Spatzier <tspat@xxxxxxxxxx>
  *
- *    $Revision: 1.203 $	 $Date: 2005/03/02 15:53:57 $
+ *    $Revision: 1.206 $	 $Date: 2005/03/24 09:04:18 $
  *
  * 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
@@ -77,7 +77,7 @@ qeth_eyecatcher(void)
 #include "qeth_mpc.h"
 #include "qeth_fs.h"
 
-#define VERSION_QETH_C "$Revision: 1.203 $"
+#define VERSION_QETH_C "$Revision: 1.206 $"
 static const char *version = "qeth S/390 OSA-Express driver";
 
 /**
@@ -3812,6 +3812,7 @@ qeth_fill_header(struct qeth_card *card,
 {
 	QETH_DBF_TEXT(trace, 6, "fillhdr");
 
+	memset(hdr, 0, sizeof(struct qeth_hdr));
 	if (card->options.layer2) {
 		qeth_layer2_fill_header(card, hdr, skb, cast_type);
 		return;
@@ -4065,6 +4066,12 @@ qeth_send_packet(struct qeth_card *card,
 		}
 	}
 	cast_type = qeth_get_cast_type(card, skb);
+	if ((cast_type == RTN_BROADCAST) && (card->info.broadcast_capable == 0)){
+		card->stats.tx_dropped++;
+		card->stats.tx_errors++;
+		dev_kfree_skb_any(skb);
+		return NETDEV_TX_OK;
+	}
 	queue = card->qdio.out_qs
 		[qeth_get_priority_queue(card, skb, ipv, cast_type)];
 
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux