From: "Franky Lin" <frankyl@broadcom.com>
To: gregkh@suse.de
Cc: devel@linuxdriverproject.org, linux-wireless@vger.kernel.org
Subject: [PATCH 18/35] staging: brcm80211: use mutex instead of semaphore in dhd_linux.c
Date: Thu, 14 Jul 2011 14:29:14 -0700 [thread overview]
Message-ID: <1310678971-28952-19-git-send-email-frankyl@broadcom.com> (raw)
In-Reply-To: <1310678971-28952-1-git-send-email-frankyl@broadcom.com>
From: Arend van Spriel <arend@broadcom.com>
The semaphore proto_sem has been replaced with mutex proto_block
which lock certain code paths for one thread.
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Franky Lin <frankyl@broadcom.com>
---
drivers/staging/brcm80211/brcmfmac/dhd_linux.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/brcm80211/brcmfmac/dhd_linux.c b/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
index 6c8599c..310a96f 100644
--- a/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
@@ -28,6 +28,7 @@
#include <linux/fcntl.h>
#include <linux/fs.h>
#include <linux/uaccess.h>
+#include <linux/mutex.h>
#include <net/cfg80211.h>
#include <defs.h>
#include <brcmu_utils.h>
@@ -73,7 +74,7 @@ struct brcmf_info {
/* OS/stack specifics */
struct brcmf_if *iflist[BRCMF_MAX_IFS];
- struct semaphore proto_sem;
+ struct mutex proto_block;
wait_queue_head_t ioctl_resp_wait;
/* Thread to issue ioctl for multicast */
@@ -1312,7 +1313,7 @@ struct brcmf_pub *brcmf_attach(struct brcmf_bus *bus, uint bus_hdrlen)
goto fail;
net->netdev_ops = NULL;
- sema_init(&drvr_priv->proto_sem, 1);
+ mutex_init(&drvr_priv->proto_block);
/* Initialize other structure content */
init_waitqueue_head(&drvr_priv->ioctl_resp_wait);
@@ -1582,7 +1583,7 @@ int brcmf_os_proto_block(struct brcmf_pub *drvr)
struct brcmf_info *drvr_priv = drvr->info;
if (drvr_priv) {
- down(&drvr_priv->proto_sem);
+ mutex_lock(&drvr_priv->proto_block);
return 1;
}
return 0;
@@ -1593,7 +1594,7 @@ int brcmf_os_proto_unblock(struct brcmf_pub *drvr)
struct brcmf_info *drvr_priv = drvr->info;
if (drvr_priv) {
- up(&drvr_priv->proto_sem);
+ mutex_unlock(&drvr_priv->proto_block);
return 1;
}
--
1.7.1
next prev parent reply other threads:[~2011-07-14 21:30 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-14 21:28 [PATCH 00/35] staging: brcm80211: code cleanup and bugfix Franky Lin
2011-07-14 21:28 ` [PATCH 01/35] staging: brcm80211: bugfix for len==0 parameter in 3 fullmac functions Franky Lin
2011-07-14 21:28 ` [PATCH 02/35] staging: brcm80211: merged bmac.c into main.c Franky Lin
2011-07-14 21:28 ` [PATCH 03/35] staging: brcm80211: shuffled sections in main.c Franky Lin
2011-07-14 21:29 ` [PATCH 04/35] staging: brcm80211: removed function declaration typedefs from phy_int.h Franky Lin
2011-07-14 21:29 ` [PATCH 05/35] staging: brcm80211: removed function declaration typedefs from aiutils.h Franky Lin
2011-07-14 23:04 ` Julian Calaby
2011-07-15 9:41 ` Roland Vossen
2011-07-15 10:13 ` Julian Calaby
2011-07-14 21:29 ` [PATCH 06/35] staging: brcm80211: removed function declaration typedefs from dma.h part 1 Franky Lin
2011-07-14 21:29 ` [PATCH 07/35] staging: brcm80211: removed function declaration typedefs from dma.h part 2 Franky Lin
2011-07-14 21:29 ` [PATCH 08/35] staging: brcm80211: removed function declaration typedefs from dma.h part 3 Franky Lin
2011-07-14 21:29 ` [PATCH 09/35] staging: brcm80211: removed function declaration typedefs from dma.h part 4 Franky Lin
2011-07-14 21:29 ` [PATCH 10/35] staging: brcm80211: removed function declaration typedefs from otp.c Franky Lin
2011-07-14 21:29 ` [PATCH 11/35] staging: brcm80211: removed function declaration typedefs from main.h,pub.h Franky Lin
2011-07-14 21:29 ` [PATCH 12/35] staging: brcm80211: removed function declaration typedefs from brcmutil Franky Lin
2011-07-14 21:29 ` [PATCH 13/35] staging: brcm80211: replaced various typedefs Franky Lin
2011-07-14 21:29 ` [PATCH 14/35] staging: brcm80211: replaced typedef wlc_rateset_t Franky Lin
2011-07-14 21:29 ` [PATCH 15/35] staging: brcm80211: replaced typedef wl_rateset_t by struct brcm_rateset Franky Lin
2011-07-14 21:29 ` [PATCH 16/35] staging: brcm80211: replaced all volatile typedefs Franky Lin
2011-07-14 21:29 ` [PATCH 17/35] staging: brcm80211: modify the FOREACH_BSS macro Franky Lin
2011-07-14 21:29 ` Franky Lin [this message]
2011-08-01 11:54 ` [PATCH 18/35] staging: brcm80211: use mutex instead of semaphore in dhd_linux.c Dan Carpenter
2011-08-01 12:52 ` Arend van Spriel
2011-08-08 12:46 ` Arend van Spriel
2011-07-14 21:29 ` [PATCH 19/35] staging: brcm80211: remove duplicated code from brcmf_init_iscan Franky Lin
2011-07-14 21:29 ` [PATCH 20/35] staging: brcm80211: remove volatile keyword from driver sources Franky Lin
2011-07-14 21:29 ` [PATCH 21/35] staging: brcm80211: use native error code in brcmf_c_pattern_atoh() Franky Lin
2011-07-14 21:29 ` [PATCH 22/35] staging: brcm80211: fix for checkpatch 'avoid externs in c file' warning Franky Lin
2011-07-16 0:06 ` Dan Carpenter
2011-07-16 9:59 ` Arend van Spriel
2011-07-14 21:29 ` [PATCH 23/35] staging: brcm80211: power save issue fixed in brcmfmac driver Franky Lin
2011-07-14 21:29 ` [PATCH 24/35] staging: brcm80211: brcmfmac: Enabling FW roaming by default Franky Lin
2011-07-14 21:29 ` [PATCH 25/35] staging: brcm80211: brcmfmac: Connect request made robust Franky Lin
2011-07-14 21:29 ` [PATCH 26/35] staging: brcm80211: use mac_pton() instead of own implementation Franky Lin
2011-07-14 21:29 ` [PATCH 27/35] staging: brcm80211: fix for 'remove unnecessary braces' checkpatch warning Franky Lin
2011-07-14 21:29 ` [PATCH 28/35] staging: brcm80211: brcmfmac: Fixed issues with iscan Franky Lin
2011-07-14 21:29 ` [PATCH 29/35] staging: brcm80211: brcmfmac: Roamed channel info passed to cfg80211 Franky Lin
2011-07-14 21:29 ` [PATCH 30/35] staging: brcm80211: move sdio related variables to dhd_sdio.c Franky Lin
2011-07-14 21:29 ` [PATCH 31/35] staging: brcm80211: move ioctl response wait code " Franky Lin
2011-07-14 21:29 ` [PATCH 32/35] staging: brcm80211: replace semaphore by wait_queue for sysioc thread Franky Lin
2011-07-14 21:29 ` [PATCH 33/35] staging: brcm80211: use wait queues instead of semaphores in wl_cfg80211.c Franky Lin
2011-07-14 21:29 ` [PATCH 34/35] staging: brcm80211: remove volatile keyword used in struct rte_console Franky Lin
2011-07-14 21:29 ` [PATCH 35/35] staging: brcm80211: replace simple_strtoul usage in brcmfmac Franky Lin
2011-07-15 23:49 ` Dan Carpenter
2011-07-16 10:00 ` Arend van Spriel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1310678971-28952-19-git-send-email-frankyl@broadcom.com \
--to=frankyl@broadcom.com \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@suse.de \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).