Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 508cc2b0 authored by Frank Pavlic's avatar Frank Pavlic Committed by Jeff Garzik
Browse files

[PATCH] s390: minor modification in qeth layer2 code



[patch 2/7] s390: minor modification in qeth layer2 code

From: Frank Pavlic <fpavlic@de.ibm.com>
	- use qeth_layer2_send_setdelvlan_cb to check
	  return code of a SET/DELVLAN IP Assist command.
	  It fits better in qeth's design and mechanism of IP Assist
	  command handling.

Signed-off-by: default avatarFrank Pavlic <fpavlic@de.ibm.com>

diffstat:
 qeth_main.c |   40 ++++++++++++++++++++++++++--------------
 1 files changed, 26 insertions(+), 14 deletions(-)
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent bd389b90
Loading
Loading
Loading
Loading
+26 −14
Original line number Diff line number Diff line
/*
 *
 * linux/drivers/s390/net/qeth_main.c ($Revision: 1.224 $)
 * linux/drivers/s390/net/qeth_main.c ($Revision: 1.235 $)
 *
 * Linux on zSeries OSA Express and HiperSockets support
 *
@@ -12,7 +12,7 @@
 *			  Frank Pavlic (pavlic@de.ibm.com) and
 *		 	  Thomas Spatzier <tspat@de.ibm.com>
 *
 *    $Revision: 1.224 $	 $Date: 2005/05/04 20:19:18 $
 *    $Revision: 1.235 $	 $Date: 2005/05/04 20:19: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
@@ -72,7 +72,7 @@
#include "qeth_eddp.h"
#include "qeth_tso.h"

#define VERSION_QETH_C "$Revision: 1.224 $"
#define VERSION_QETH_C "$Revision: 1.235 $"
static const char *version = "qeth S/390 OSA-Express driver";

/**
@@ -5350,11 +5350,30 @@ qeth_free_vlan_addresses6(struct qeth_card *card, unsigned short vid)
#endif /* CONFIG_QETH_IPV6 */
}

static void
static int
qeth_layer2_send_setdelvlan_cb(struct qeth_card *card,
                               struct qeth_reply *reply,
                               unsigned long data)
{
        struct qeth_ipa_cmd *cmd;

        QETH_DBF_TEXT(trace, 2, "L2sdvcb");
        cmd = (struct qeth_ipa_cmd *) data;
        if (cmd->hdr.return_code) {
		PRINT_ERR("Error in processing VLAN %i on %s: 0x%x. "
			  "Continuing\n",cmd->data.setdelvlan.vlan_id, 
			  QETH_CARD_IFNAME(card), cmd->hdr.return_code);
		QETH_DBF_TEXT_(trace, 2, "L2VL%4x", cmd->hdr.command);
		QETH_DBF_TEXT_(trace, 2, "L2%s", CARD_BUS_ID(card));
		QETH_DBF_TEXT_(trace, 2, "err%d", cmd->hdr.return_code);
	}
        return 0;
}

static int
qeth_layer2_send_setdelvlan(struct qeth_card *card, __u16 i,
			    enum qeth_ipa_cmds ipacmd)
{
 	int rc;
	struct qeth_ipa_cmd *cmd;
	struct qeth_cmd_buffer *iob;

@@ -5362,15 +5381,8 @@ qeth_layer2_send_setdelvlan(struct qeth_card *card, __u16 i,
	iob = qeth_get_ipacmd_buffer(card, ipacmd, QETH_PROT_IPV4);
	cmd = (struct qeth_ipa_cmd *)(iob->data+IPA_PDU_HEADER_SIZE);
        cmd->data.setdelvlan.vlan_id = i;

	rc = qeth_send_ipa_cmd(card, iob, NULL, NULL);
        if (rc) {
                PRINT_ERR("Error in processing VLAN %i on %s: 0x%x. "
			  "Continuing\n",i, QETH_CARD_IFNAME(card), rc);
		QETH_DBF_TEXT_(trace, 2, "L2VL%4x", ipacmd);
		QETH_DBF_TEXT_(trace, 2, "L2%s", CARD_BUS_ID(card));
		QETH_DBF_TEXT_(trace, 2, "err%d", rc);
        }
	return qeth_send_ipa_cmd(card, iob, 
				 qeth_layer2_send_setdelvlan_cb, NULL);
}

static void