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: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Thomas Klein 2007-01-29 18:44:01 +01:00 committed by Jeff Garzik
parent 9e8e83d1ba
commit 9c750b7d14
2 changed files with 24 additions and 8 deletions

View file

@ -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)

View file

@ -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 {
cb4->jumbo_frame = 1;
hret = ehea_h_modify_ehea_port(adapter->handle,
port->logical_port_id,
H_PORT_CB4, H_PORT_CB4_JUMBO,
cb4);
if (hret != H_SUCCESS) {
ehea_info("Jumbo frames not activated");
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,
cb4);
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;