aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ehea/ehea.h2
-rw-r--r--drivers/net/ehea/ehea_main.c18
2 files changed, 10 insertions, 10 deletions
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h
index 93b7fb24696..f07af2c3bcb 100644
--- a/drivers/net/ehea/ehea.h
+++ b/drivers/net/ehea/ehea.h
@@ -421,7 +421,7 @@ struct ehea_fw_handle_entry {
struct ehea_fw_handle_array {
struct ehea_fw_handle_entry *arr;
int num_entries;
- struct semaphore lock;
+ struct mutex lock;
};
struct ehea_bcmc_reg_entry {
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index a3b3b165445..4ae65e87648 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -2453,7 +2453,7 @@ static int ehea_up(struct net_device *dev)
if (port->state == EHEA_PORT_UP)
return 0;
- down(&ehea_fw_handles.lock);
+ mutex_lock(&ehea_fw_handles.lock);
ret = ehea_port_res_setup(port, port->num_def_qps,
port->num_add_tx_qps);
@@ -2517,7 +2517,7 @@ out:
up(&ehea_bcmc_regs.lock);
ehea_update_firmware_handles();
- up(&ehea_fw_handles.lock);
+ mutex_unlock(&ehea_fw_handles.lock);
return ret;
}
@@ -2573,7 +2573,7 @@ static int ehea_down(struct net_device *dev)
ehea_free_interrupts(dev);
- down(&ehea_fw_handles.lock);
+ mutex_lock(&ehea_fw_handles.lock);
port->state = EHEA_PORT_DOWN;
@@ -2586,7 +2586,7 @@ static int ehea_down(struct net_device *dev)
dev->name, ret);
ehea_update_firmware_handles();
- up(&ehea_fw_handles.lock);
+ mutex_unlock(&ehea_fw_handles.lock);
return ret;
}
@@ -3343,7 +3343,7 @@ static int __devinit ehea_probe_adapter(struct of_device *dev,
ehea_error("Invalid ibmebus device probed");
return -EINVAL;
}
- down(&ehea_fw_handles.lock);
+ mutex_lock(&ehea_fw_handles.lock);
adapter = kzalloc(sizeof(*adapter), GFP_KERNEL);
if (!adapter) {
@@ -3427,7 +3427,7 @@ out_free_ad:
out:
ehea_update_firmware_handles();
- up(&ehea_fw_handles.lock);
+ mutex_unlock(&ehea_fw_handles.lock);
return ret;
}
@@ -3446,7 +3446,7 @@ static int __devexit ehea_remove(struct of_device *dev)
flush_scheduled_work();
- down(&ehea_fw_handles.lock);
+ mutex_lock(&ehea_fw_handles.lock);
ibmebus_free_irq(adapter->neq->attr.ist1, adapter);
tasklet_kill(&adapter->neq_tasklet);
@@ -3457,7 +3457,7 @@ static int __devexit ehea_remove(struct of_device *dev)
kfree(adapter);
ehea_update_firmware_handles();
- up(&ehea_fw_handles.lock);
+ mutex_unlock(&ehea_fw_handles.lock);
return 0;
}
@@ -3544,7 +3544,7 @@ int __init ehea_module_init(void)
memset(&ehea_fw_handles, 0, sizeof(ehea_fw_handles));
memset(&ehea_bcmc_regs, 0, sizeof(ehea_bcmc_regs));
- sema_init(&ehea_fw_handles.lock, 1);
+ mutex_init(&ehea_fw_handles.lock);
sema_init(&ehea_bcmc_regs.lock, 1);
ret = check_module_parm();