From patchwork Tue Sep 30 10:09:42 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kou Ishizaki X-Patchwork-Id: 2077 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [127.0.0.1]) by ozlabs.org (Postfix) with ESMTP id B2F4CDE08B for ; Tue, 30 Sep 2008 20:10:07 +1000 (EST) X-Original-To: cbe-oss-dev@ozlabs.org Delivered-To: cbe-oss-dev@ozlabs.org Received: from imx2.toshiba.co.jp (inet-tsb5.toshiba.co.jp [202.33.96.24]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 69488DDFBE; Tue, 30 Sep 2008 20:09:56 +1000 (EST) Received: from arc1.toshiba.co.jp ([133.199.194.235]) by imx2.toshiba.co.jp with ESMTP id m8UA9h8w027577; Tue, 30 Sep 2008 19:09:43 +0900 (JST) Received: (from root@localhost) by arc1.toshiba.co.jp id m8UA9h1L011322; Tue, 30 Sep 2008 19:09:43 +0900 (JST) Received: from unknown [133.199.192.144] by arc1.toshiba.co.jp with ESMTP id VAA11321; Tue, 30 Sep 2008 19:09:43 +0900 Received: from mx11.toshiba.co.jp (localhost [127.0.0.1]) by ovp2.toshiba.co.jp with ESMTP id m8UA9gRY026357; Tue, 30 Sep 2008 19:09:43 +0900 (JST) Received: from BK2211.rdc.toshiba.co.jp by toshiba.co.jp id m8UA9g8P004793; Tue, 30 Sep 2008 19:09:42 +0900 (JST) Received: from island.swc.toshiba.co.jp (localhost [127.0.0.1]) by BK2211.rdc.toshiba.co.jp (8.13.8+Sun/8.13.8) with ESMTP id m8UA9gJa028309; Tue, 30 Sep 2008 19:09:42 +0900 (JST) Received: from localhost (pftech04 [133.196.122.147]) by island.swc.toshiba.co.jp (Postfix) with ESMTP id 6703340002; Tue, 30 Sep 2008 19:09:42 +0900 (JST) Date: Tue, 30 Sep 2008 19:09:42 +0900 (JST) Message-Id: <20080930.190942.-1300537374.kouish@swc.toshiba.co.jp> To: jk@ozlabs.org, arnd@arndb.de From: Kou Ishizaki X-Mailer: Mew version 4.2 on Emacs 21.4 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Cc: cbe-oss-dev@ozlabs.org Subject: [Cbe-oss-dev] [PATCH] powerpc/spufs: add a missing mutex_unlock X-BeenThere: cbe-oss-dev@ozlabs.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Discussion about Open Source Software for the Cell Broadband Engine List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: cbe-oss-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org Errors-To: cbe-oss-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org A mutex_unlock(&gang->aff_mutex) in spufs_create_context() is missing in case spufs_context_open() fails. As a result, spu_create syscall and spu_get_idle() may block. This patch adds the mutex_unlock. Signed-off-by: Kou Ishizaki Acked-by: Andre Detsch --- arch/powerpc/platforms/cell/spufs/inode.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) goto out; diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c index 690ca7b..5c73b62 100644 --- a/arch/powerpc/platforms/cell/spufs/inode.c +++ b/arch/powerpc/platforms/cell/spufs/inode.c @@ -496,5 +496,7 @@ spufs_create_context(struct inode *inode, struct dentry *dentry, ret = spufs_context_open(dget(dentry), mntget(mnt)); if (ret < 0) { WARN_ON(spufs_rmdir(inode, dentry)); + if (affinity) + mutex_unlock(&gang->aff_mutex); mutex_unlock(&inode->i_mutex); spu_forget(SPUFS_I(dentry->d_inode)->i_ctx);