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

Commit 9c750b7d authored by Thomas Klein's avatar Thomas Klein Committed by Jeff Garzik
Browse files

ehea: Fixed wrong jumbo frames status query



This patch fixes the wrong query and logging of the per interface jumbo frames
enabled/disabled status.

Signed-off-by: default avatarThomas Klein <tklein@de.ibm.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 9e8e83d1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@
#include <asm/io.h>

#define DRV_NAME	"ehea"
#define DRV_VERSION	"EHEA_0044"
#define DRV_VERSION	"EHEA_0045"

#define EHEA_MSG_DEFAULT (NETIF_MSG_LINK | NETIF_MSG_TIMER \
	| NETIF_MSG_RX_ERR | NETIF_MSG_TX_ERR)
+23 −7
Original line number Diff line number Diff line
@@ -2316,6 +2316,7 @@ static int ehea_setup_single_port(struct ehea_port *port,
	struct ehea_adapter *adapter = port->adapter;
	struct hcp_ehea_port_cb4 *cb4;
	u32 *dn_log_port_id;
	int jumbo = 0;

	sema_init(&port->port_lock, 1);
	port->state = EHEA_PORT_DOWN;
@@ -2357,13 +2358,25 @@ static int ehea_setup_single_port(struct ehea_port *port,
	if (!cb4) {
		ehea_error("no mem for cb4");
	} else {
		hret = ehea_h_query_ehea_port(adapter->handle,
					      port->logical_port_id,
					      H_PORT_CB4,
					      H_PORT_CB4_JUMBO, cb4);

		if (hret == H_SUCCESS) {
			if (cb4->jumbo_frame)
				jumbo = 1;
			else {
				cb4->jumbo_frame = 1;
				hret = ehea_h_modify_ehea_port(adapter->handle,
					       port->logical_port_id,
					       H_PORT_CB4, H_PORT_CB4_JUMBO,
							       port->
							        logical_port_id,
							       H_PORT_CB4,
							       H_PORT_CB4_JUMBO,
							       cb4);
		if (hret != H_SUCCESS) {
			ehea_info("Jumbo frames not activated");
				if (hret == H_SUCCESS)
					jumbo = 1;
			}
		}
		kfree(cb4);
	}
@@ -2402,6 +2415,9 @@ static int ehea_setup_single_port(struct ehea_port *port,
		goto out_free;
	}

	ehea_info("%s: Jumbo frames are %sabled", dev->name,
		  jumbo == 1 ? "en" : "dis");

	port->netdev = dev;
	ret = 0;
	goto out;