Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 5210
b: refs/heads/master
c: f68bcc2
h: refs/heads/master
v: v3
  • Loading branch information
Hal Rosenstock authored and Linus Torvalds committed Jul 27, 2005
1 parent 4e340ec commit 785858b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 36 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: 6a0c435ef9e2473934442282054d0f58235d1de2
refs/heads/master: f68bcc2df8115b4ea45bfa4f8de22ec7232562b5
44 changes: 9 additions & 35 deletions trunk/drivers/infiniband/core/mad.c
Original file line number Diff line number Diff line change
Expand Up @@ -2487,14 +2487,6 @@ static int ib_mad_port_open(struct ib_device *device,
unsigned long flags;
char name[sizeof "ib_mad123"];

/* First, check if port already open at MAD layer */
port_priv = ib_get_mad_port(device, port_num);
if (port_priv) {
printk(KERN_DEBUG PFX "%s port %d already open\n",
device->name, port_num);
return 0;
}

/* Create new device info */
port_priv = kmalloc(sizeof *port_priv, GFP_KERNEL);
if (!port_priv) {
Expand Down Expand Up @@ -2619,7 +2611,7 @@ static int ib_mad_port_close(struct ib_device *device, int port_num)

static void ib_mad_init_device(struct ib_device *device)
{
int ret, num_ports, cur_port, i, ret2;
int num_ports, cur_port, i;

if (device->node_type == IB_NODE_SWITCH) {
num_ports = 1;
Expand All @@ -2629,47 +2621,37 @@ static void ib_mad_init_device(struct ib_device *device)
cur_port = 1;
}
for (i = 0; i < num_ports; i++, cur_port++) {
ret = ib_mad_port_open(device, cur_port);
if (ret) {
if (ib_mad_port_open(device, cur_port)) {
printk(KERN_ERR PFX "Couldn't open %s port %d\n",
device->name, cur_port);
goto error_device_open;
}
ret = ib_agent_port_open(device, cur_port);
if (ret) {
if (ib_agent_port_open(device, cur_port)) {
printk(KERN_ERR PFX "Couldn't open %s port %d "
"for agents\n",
device->name, cur_port);
goto error_device_open;
}
}

goto error_device_query;
return;

error_device_open:
while (i > 0) {
cur_port--;
ret2 = ib_agent_port_close(device, cur_port);
if (ret2) {
if (ib_agent_port_close(device, cur_port))
printk(KERN_ERR PFX "Couldn't close %s port %d "
"for agents\n",
device->name, cur_port);
}
ret2 = ib_mad_port_close(device, cur_port);
if (ret2) {
if (ib_mad_port_close(device, cur_port))
printk(KERN_ERR PFX "Couldn't close %s port %d\n",
device->name, cur_port);
}
i--;
}

error_device_query:
return;
}

static void ib_mad_remove_device(struct ib_device *device)
{
int ret = 0, i, num_ports, cur_port, ret2;
int i, num_ports, cur_port;

if (device->node_type == IB_NODE_SWITCH) {
num_ports = 1;
Expand All @@ -2679,21 +2661,13 @@ static void ib_mad_remove_device(struct ib_device *device)
cur_port = 1;
}
for (i = 0; i < num_ports; i++, cur_port++) {
ret2 = ib_agent_port_close(device, cur_port);
if (ret2) {
if (ib_agent_port_close(device, cur_port))
printk(KERN_ERR PFX "Couldn't close %s port %d "
"for agents\n",
device->name, cur_port);
if (!ret)
ret = ret2;
}
ret2 = ib_mad_port_close(device, cur_port);
if (ret2) {
if (ib_mad_port_close(device, cur_port))
printk(KERN_ERR PFX "Couldn't close %s port %d\n",
device->name, cur_port);
if (!ret)
ret = ret2;
}
}
}

Expand Down

0 comments on commit 785858b

Please sign in to comment.