aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Walker <dwalker@mvista.com>2008-03-28 17:41:28 -0400
committerJeff Garzik <jeff@garzik.org>2008-03-28 22:14:37 -0400
commitda59cde4825bd42f305efb8e6335f1b58ab8d88c (patch)
treeabfd2f2115b9c158a7cd551a29378e9f256f38c8
parentdbbcbb2d95dc4faa3b96d39f78032c85e8745c0c (diff)
netdev: ehea: bcmc_regs semaphore to mutex
Convert the ehea_bcmc_regs.lock to a mutex. Signed-off-by: Daniel Walker <dwalker@mvista.com> Cc: Christoph Raisch <raisch@de.ibm.com> Cc: Jan-Bernd Themann <themann@de.ibm.com> Cc: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-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 f07af2c3bcbe..b5c8eb96bd26 100644
--- a/drivers/net/ehea/ehea.h
+++ b/drivers/net/ehea/ehea.h
@@ -434,7 +434,7 @@ struct ehea_bcmc_reg_entry {
434struct ehea_bcmc_reg_array { 434struct ehea_bcmc_reg_array {
435 struct ehea_bcmc_reg_entry *arr; 435 struct ehea_bcmc_reg_entry *arr;
436 int num_entries; 436 int num_entries;
437 struct semaphore lock; 437 struct mutex lock;
438}; 438};
439 439
440#define EHEA_PORT_UP 1 440#define EHEA_PORT_UP 1
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index 0cfc7e2ce395..73dd6f9dfbbe 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -1759,7 +1759,7 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa)
1759 1759
1760 memcpy(dev->dev_addr, mac_addr->sa_data, dev->addr_len); 1760 memcpy(dev->dev_addr, mac_addr->sa_data, dev->addr_len);
1761 1761
1762 down(&ehea_bcmc_regs.lock); 1762 mutex_lock(&ehea_bcmc_regs.lock);
1763 1763
1764 /* Deregister old MAC in pHYP */ 1764 /* Deregister old MAC in pHYP */
1765 ret = ehea_broadcast_reg_helper(port, H_DEREG_BCMC); 1765 ret = ehea_broadcast_reg_helper(port, H_DEREG_BCMC);
@@ -1777,7 +1777,7 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa)
1777 1777
1778out_upregs: 1778out_upregs:
1779 ehea_update_bcmc_registrations(); 1779 ehea_update_bcmc_registrations();
1780 up(&ehea_bcmc_regs.lock); 1780 mutex_unlock(&ehea_bcmc_regs.lock);
1781out_free: 1781out_free:
1782 kfree(cb0); 1782 kfree(cb0);
1783out: 1783out:
@@ -1939,7 +1939,7 @@ static void ehea_set_multicast_list(struct net_device *dev)
1939 } 1939 }
1940 ehea_promiscuous(dev, 0); 1940 ehea_promiscuous(dev, 0);
1941 1941
1942 down(&ehea_bcmc_regs.lock); 1942 mutex_lock(&ehea_bcmc_regs.lock);
1943 1943
1944 if (dev->flags & IFF_ALLMULTI) { 1944 if (dev->flags & IFF_ALLMULTI) {
1945 ehea_allmulti(dev, 1); 1945 ehea_allmulti(dev, 1);
@@ -1970,7 +1970,7 @@ static void ehea_set_multicast_list(struct net_device *dev)
1970 } 1970 }
1971out: 1971out:
1972 ehea_update_bcmc_registrations(); 1972 ehea_update_bcmc_registrations();
1973 up(&ehea_bcmc_regs.lock); 1973 mutex_unlock(&ehea_bcmc_regs.lock);
1974 return; 1974 return;
1975} 1975}
1976 1976
@@ -2491,7 +2491,7 @@ static int ehea_up(struct net_device *dev)
2491 } 2491 }
2492 } 2492 }
2493 2493
2494 down(&ehea_bcmc_regs.lock); 2494 mutex_lock(&ehea_bcmc_regs.lock);
2495 2495
2496 ret = ehea_broadcast_reg_helper(port, H_REG_BCMC); 2496 ret = ehea_broadcast_reg_helper(port, H_REG_BCMC);
2497 if (ret) { 2497 if (ret) {
@@ -2514,7 +2514,7 @@ out:
2514 ehea_info("Failed starting %s. ret=%i", dev->name, ret); 2514 ehea_info("Failed starting %s. ret=%i", dev->name, ret);
2515 2515
2516 ehea_update_bcmc_registrations(); 2516 ehea_update_bcmc_registrations();
2517 up(&ehea_bcmc_regs.lock); 2517 mutex_unlock(&ehea_bcmc_regs.lock);
2518 2518
2519 ehea_update_firmware_handles(); 2519 ehea_update_firmware_handles();
2520 mutex_unlock(&ehea_fw_handles.lock); 2520 mutex_unlock(&ehea_fw_handles.lock);
@@ -2569,7 +2569,7 @@ static int ehea_down(struct net_device *dev)
2569 2569
2570 mutex_lock(&ehea_fw_handles.lock); 2570 mutex_lock(&ehea_fw_handles.lock);
2571 2571
2572 down(&ehea_bcmc_regs.lock); 2572 mutex_lock(&ehea_bcmc_regs.lock);
2573 ehea_drop_multicast_list(dev); 2573 ehea_drop_multicast_list(dev);
2574 ehea_broadcast_reg_helper(port, H_DEREG_BCMC); 2574 ehea_broadcast_reg_helper(port, H_DEREG_BCMC);
2575 2575
@@ -2578,7 +2578,7 @@ static int ehea_down(struct net_device *dev)
2578 port->state = EHEA_PORT_DOWN; 2578 port->state = EHEA_PORT_DOWN;
2579 2579
2580 ehea_update_bcmc_registrations(); 2580 ehea_update_bcmc_registrations();
2581 up(&ehea_bcmc_regs.lock); 2581 mutex_unlock(&ehea_bcmc_regs.lock);
2582 2582
2583 ret = ehea_clean_all_portres(port); 2583 ret = ehea_clean_all_portres(port);
2584 if (ret) 2584 if (ret)
@@ -3545,7 +3545,7 @@ int __init ehea_module_init(void)
3545 memset(&ehea_bcmc_regs, 0, sizeof(ehea_bcmc_regs)); 3545 memset(&ehea_bcmc_regs, 0, sizeof(ehea_bcmc_regs));
3546 3546
3547 mutex_init(&ehea_fw_handles.lock); 3547 mutex_init(&ehea_fw_handles.lock);
3548 sema_init(&ehea_bcmc_regs.lock, 1); 3548 mutex_init(&ehea_bcmc_regs.lock);
3549 3549
3550 ret = check_module_parm(); 3550 ret = check_module_parm();
3551 if (ret) 3551 if (ret)