From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752774AbbDEVQY (ORCPT ); Sun, 5 Apr 2015 17:16:24 -0400 Received: from mail-wi0-f181.google.com ([209.85.212.181]:35134 "EHLO mail-wi0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752384AbbDEVQW (ORCPT ); Sun, 5 Apr 2015 17:16:22 -0400 From: Giedrius Statkevicius To: lidza.louina@gmail.com, markh@compro.net Cc: gregkh@linuxfoundation.org, driverdev-devel@linuxdriverproject.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Giedrius=20Statkevi=C4=8Dius?= Subject: [PATCH 1/3] staging: dgnc: use a real mutex instead of masquerading a semaphore as a mutex Date: Mon, 6 Apr 2015 00:15:53 +0300 Message-Id: <1428268555-8963-1-git-send-email-giedrius.statkevicius@gmail.com> X-Mailer: git-send-email 2.3.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A mutex should be used here (and it's name even says that) so remove the hiding of a semaphore behind a #define and use a real mutex that the kernel provides. Signed-off-by: Giedrius Statkevičius --- drivers/staging/dgnc/dgnc_tty.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/staging/dgnc/dgnc_tty.c b/drivers/staging/dgnc/dgnc_tty.c index ce4187f..0b9bed4 100644 --- a/drivers/staging/dgnc/dgnc_tty.c +++ b/drivers/staging/dgnc/dgnc_tty.c @@ -42,16 +42,12 @@ #include "dgnc_sysfs.h" #include "dgnc_utils.h" -#define init_MUTEX(sem) sema_init(sem, 1) -#define DECLARE_MUTEX(name) \ - struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1) - /* * internal variables */ static struct dgnc_board *dgnc_BoardsByMajor[256]; static unsigned char *dgnc_TmpWriteBuf; -static DECLARE_MUTEX(dgnc_TmpWriteSem); +static DEFINE_MUTEX(dgnc_TmpWriteSem); /* * Default transparent print information. @@ -1797,7 +1793,7 @@ static int dgnc_tty_write(struct tty_struct *tty, * the board. */ /* we're allowed to block if it's from_user */ - if (down_interruptible(&dgnc_TmpWriteSem)) + if (mutex_lock_interruptible(&dgnc_TmpWriteSem)) return -EINTR; /* @@ -1807,7 +1803,7 @@ static int dgnc_tty_write(struct tty_struct *tty, count -= copy_from_user(dgnc_TmpWriteBuf, (const unsigned char __user *) buf, count); if (!count) { - up(&dgnc_TmpWriteSem); + mutex_unlock(&dgnc_TmpWriteSem); return -EFAULT; } @@ -1855,7 +1851,7 @@ static int dgnc_tty_write(struct tty_struct *tty, if (from_user) { spin_unlock_irqrestore(&ch->ch_lock, flags); - up(&dgnc_TmpWriteSem); + mutex_unlock(&dgnc_TmpWriteSem); } else { spin_unlock_irqrestore(&ch->ch_lock, flags); } -- 2.3.5 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 78E511BF984 for ; Sun, 5 Apr 2015 21:16:24 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 636063056C for ; Sun, 5 Apr 2015 21:16:24 +0000 (UTC) Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id M2bGqAtdTKmN for ; Sun, 5 Apr 2015 21:16:23 +0000 (UTC) Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) by silver.osuosl.org (Postfix) with ESMTPS id F061A3041B for ; Sun, 5 Apr 2015 21:16:22 +0000 (UTC) Received: by wgyo15 with SMTP id o15so2910215wgy.2 for ; Sun, 05 Apr 2015 14:16:21 -0700 (PDT) From: Giedrius Statkevicius Subject: [PATCH 1/3] staging: dgnc: use a real mutex instead of masquerading a semaphore as a mutex Date: Mon, 6 Apr 2015 00:15:53 +0300 Message-Id: <1428268555-8963-1-git-send-email-giedrius.statkevicius@gmail.com> MIME-Version: 1.0 List-Id: Linux Driver Project Developer List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: lidza.louina@gmail.com, markh@compro.net Cc: devel@driverdev.osuosl.org, gregkh@linuxfoundation.org, driverdev-devel@linuxdriverproject.org, linux-kernel@vger.kernel.org QSBtdXRleCBzaG91bGQgYmUgdXNlZCBoZXJlIChhbmQgaXQncyBuYW1lIGV2ZW4gc2F5cyB0aGF0 KSBzbyByZW1vdmUgdGhlIGhpZGluZwpvZiBhIHNlbWFwaG9yZSBiZWhpbmQgYSAjZGVmaW5lIGFu ZCB1c2UgYSByZWFsIG11dGV4IHRoYXQgdGhlIGtlcm5lbCBwcm92aWRlcy4KClNpZ25lZC1vZmYt Ynk6IEdpZWRyaXVzIFN0YXRrZXZpxI1pdXMgPGdpZWRyaXVzLnN0YXRrZXZpY2l1c0BnbWFpbC5j b20+Ci0tLQogZHJpdmVycy9zdGFnaW5nL2RnbmMvZGduY190dHkuYyB8IDEyICsrKystLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvZGduYy9kZ25jX3R0eS5jIGIvZHJpdmVycy9zdGFnaW5n L2RnbmMvZGduY190dHkuYwppbmRleCBjZTQxODdmLi4wYjliZWQ0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL3N0YWdpbmcvZGduYy9kZ25jX3R0eS5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9kZ25jL2Rn bmNfdHR5LmMKQEAgLTQyLDE2ICs0MiwxMiBAQAogI2luY2x1ZGUgImRnbmNfc3lzZnMuaCIKICNp bmNsdWRlICJkZ25jX3V0aWxzLmgiCiAKLSNkZWZpbmUgaW5pdF9NVVRFWChzZW0pCSBzZW1hX2lu aXQoc2VtLCAxKQotI2RlZmluZSBERUNMQVJFX01VVEVYKG5hbWUpICAgICBcCi0Jc3RydWN0IHNl bWFwaG9yZSBuYW1lID0gX19TRU1BUEhPUkVfSU5JVElBTElaRVIobmFtZSwgMSkKLQogLyoKICAq IGludGVybmFsIHZhcmlhYmxlcwogICovCiBzdGF0aWMgc3RydWN0IGRnbmNfYm9hcmQJKmRnbmNf Qm9hcmRzQnlNYWpvclsyNTZdOwogc3RhdGljIHVuc2lnbmVkIGNoYXIJCSpkZ25jX1RtcFdyaXRl QnVmOwotc3RhdGljIERFQ0xBUkVfTVVURVgoZGduY19UbXBXcml0ZVNlbSk7CitzdGF0aWMgREVG SU5FX01VVEVYKGRnbmNfVG1wV3JpdGVTZW0pOwogCiAvKgogICogRGVmYXVsdCB0cmFuc3BhcmVu dCBwcmludCBpbmZvcm1hdGlvbi4KQEAgLTE3OTcsNyArMTc5Myw3IEBAIHN0YXRpYyBpbnQgZGdu Y190dHlfd3JpdGUoc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSwKIAkJICogdGhlIGJvYXJkLgogCQkg Ki8KIAkJLyogd2UncmUgYWxsb3dlZCB0byBibG9jayBpZiBpdCdzIGZyb21fdXNlciAqLwotCQlp ZiAoZG93bl9pbnRlcnJ1cHRpYmxlKCZkZ25jX1RtcFdyaXRlU2VtKSkKKwkJaWYgKG11dGV4X2xv Y2tfaW50ZXJydXB0aWJsZSgmZGduY19UbXBXcml0ZVNlbSkpCiAJCQlyZXR1cm4gLUVJTlRSOwog CiAJCS8qCkBAIC0xODA3LDcgKzE4MDMsNyBAQCBzdGF0aWMgaW50IGRnbmNfdHR5X3dyaXRlKHN0 cnVjdCB0dHlfc3RydWN0ICp0dHksCiAJCWNvdW50IC09IGNvcHlfZnJvbV91c2VyKGRnbmNfVG1w V3JpdGVCdWYsIChjb25zdCB1bnNpZ25lZCBjaGFyIF9fdXNlciAqKSBidWYsIGNvdW50KTsKIAog CQlpZiAoIWNvdW50KSB7Ci0JCQl1cCgmZGduY19UbXBXcml0ZVNlbSk7CisJCQltdXRleF91bmxv Y2soJmRnbmNfVG1wV3JpdGVTZW0pOwogCQkJcmV0dXJuIC1FRkFVTFQ7CiAJCX0KIApAQCAtMTg1 NSw3ICsxODUxLDcgQEAgc3RhdGljIGludCBkZ25jX3R0eV93cml0ZShzdHJ1Y3QgdHR5X3N0cnVj dCAqdHR5LAogCiAJaWYgKGZyb21fdXNlcikgewogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZj aC0+Y2hfbG9jaywgZmxhZ3MpOwotCQl1cCgmZGduY19UbXBXcml0ZVNlbSk7CisJCW11dGV4X3Vu bG9jaygmZGduY19UbXBXcml0ZVNlbSk7CiAJfSBlbHNlIHsKIAkJc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmY2gtPmNoX2xvY2ssIGZsYWdzKTsKIAl9Ci0tIAoyLjMuNQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZGV2ZWwgbWFpbGluZyBsaXN0CmRldmVs QGxpbnV4ZHJpdmVycHJvamVjdC5vcmcKaHR0cDovL2RyaXZlcmRldi5saW51eGRyaXZlcnByb2pl Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vZHJpdmVyZGV2LWRldmVsCg==