Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 61524
b: refs/heads/master
c: f9e2922
h: refs/heads/master
v: v3
  • Loading branch information
Thomas Klein authored and Jeff Garzik committed Jul 18, 2007
1 parent e7afced commit e917e43
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e190d6b140079c104ba57e5130a9b4ebea618e92
refs/heads/master: f9e29228e6f2058e7b086115ecb7008630ebd832
2 changes: 1 addition & 1 deletion trunk/drivers/net/ehea/ehea.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
#include <asm/io.h>

#define DRV_NAME "ehea"
#define DRV_VERSION "EHEA_0070"
#define DRV_VERSION "EHEA_0071"

/* eHEA capability flags */
#define DLPAR_PORT_ADD_REM 1
Expand Down
37 changes: 19 additions & 18 deletions trunk/drivers/net/ehea/ehea_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,8 @@ static struct ehea_cqe *ehea_proc_rwqes(struct net_device *dev,
cqe->vlan_tag);
else
netif_receive_skb(skb);

dev->last_rx = jiffies;
} else {
pr->p_stats.poll_receive_errors++;
port_reset = ehea_treat_poll_error(pr, rq, cqe,
Expand Down Expand Up @@ -1433,7 +1435,8 @@ static int ehea_broadcast_reg_helper(struct ehea_port *port, u32 hcallid)
port->logical_port_id,
reg_type, port->mac_addr, 0, hcallid);
if (hret != H_SUCCESS) {
ehea_error("reg_dereg_bcmc failed (tagged)");
ehea_error("%sregistering bc address failed (tagged)",
hcallid == H_REG_BCMC ? "" : "de");
ret = -EIO;
goto out_herr;
}
Expand All @@ -1444,7 +1447,8 @@ static int ehea_broadcast_reg_helper(struct ehea_port *port, u32 hcallid)
port->logical_port_id,
reg_type, port->mac_addr, 0, hcallid);
if (hret != H_SUCCESS) {
ehea_error("reg_dereg_bcmc failed (vlan)");
ehea_error("%sregistering bc address failed (vlan)",
hcallid == H_REG_BCMC ? "" : "de");
ret = -EIO;
}
out_herr:
Expand Down Expand Up @@ -2170,7 +2174,6 @@ static int ehea_up(struct net_device *dev)
{
int ret, i;
struct ehea_port *port = netdev_priv(dev);
u64 mac_addr = 0;

if (port->state == EHEA_PORT_UP)
return 0;
Expand All @@ -2189,18 +2192,10 @@ static int ehea_up(struct net_device *dev)
goto out_clean_pr;
}

ret = ehea_broadcast_reg_helper(port, H_REG_BCMC);
if (ret) {
ret = -EIO;
ehea_error("out_clean_pr");
goto out_clean_pr;
}
mac_addr = (*(u64*)dev->dev_addr) >> 16;

ret = ehea_reg_interrupts(dev);
if (ret) {
ehea_error("out_dereg_bc");
goto out_dereg_bc;
ehea_error("reg_interrupts failed. ret:%d", ret);
goto out_clean_pr;
}

for(i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++) {
Expand All @@ -2226,9 +2221,6 @@ static int ehea_up(struct net_device *dev)
out_free_irqs:
ehea_free_interrupts(dev);

out_dereg_bc:
ehea_broadcast_reg_helper(port, H_DEREG_BCMC);

out_clean_pr:
ehea_clean_all_portres(port);
out:
Expand Down Expand Up @@ -2273,7 +2265,6 @@ static int ehea_down(struct net_device *dev)
&port->port_res[i].d_netdev->state))
msleep(1);

ehea_broadcast_reg_helper(port, H_DEREG_BCMC);
port->state = EHEA_PORT_DOWN;

ret = ehea_clean_all_portres(port);
Expand Down Expand Up @@ -2655,12 +2646,18 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,

INIT_WORK(&port->reset_task, ehea_reset_port);

ret = ehea_broadcast_reg_helper(port, H_REG_BCMC);
if (ret) {
ret = -EIO;
goto out_unreg_port;
}

ehea_set_ethtool_ops(dev);

ret = register_netdev(dev);
if (ret) {
ehea_error("register_netdev failed. ret=%d", ret);
goto out_unreg_port;
goto out_dereg_bc;
}

ret = ehea_get_jumboframe_status(port, &jumbo);
Expand All @@ -2675,6 +2672,9 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,

return port;

out_dereg_bc:
ehea_broadcast_reg_helper(port, H_DEREG_BCMC);

out_unreg_port:
ehea_unregister_port(port);

Expand All @@ -2694,6 +2694,7 @@ static void ehea_shutdown_single_port(struct ehea_port *port)
{
unregister_netdev(port->netdev);
ehea_unregister_port(port);
ehea_broadcast_reg_helper(port, H_DEREG_BCMC);
kfree(port->mc_list);
free_netdev(port->netdev);
port->adapter->active_ports--;
Expand Down

0 comments on commit e917e43

Please sign in to comment.