From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756118Ab2GSB7o (ORCPT ); Wed, 18 Jul 2012 21:59:44 -0400 Received: from mail132.messagelabs.com ([216.82.242.115]:36948 "EHLO mail132.messagelabs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753175Ab2GSB7m (ORCPT ); Wed, 18 Jul 2012 21:59:42 -0400 X-Env-Sender: hartleys@visionengravers.com X-Msg-Ref: server-4.tower-132.messagelabs.com!1342663181!14779586!1 X-Originating-IP: [216.166.12.32] X-StarScan-Version: 6.5.10; banners=-,-,- X-VirusChecked: Checked From: H Hartley Sweeten To: Linux Kernel Subject: [PATCH 71/90] staging: comedi: dyna_pci10xx: remove the 'start_stop_sem' mutex Date: Wed, 18 Jul 2012 18:59:35 -0700 User-Agent: KMail/1.9.9 CC: , , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-ID: <201207181859.36031.hartleys@visionengravers.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The comedi core already has a mutex protecting the attach/detach of the comedi drivers. Signed-off-by: H Hartley Sweeten Cc: Ian Abbott Cc: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/dyna_pci10xx.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/staging/comedi/drivers/dyna_pci10xx.c b/drivers/staging/comedi/drivers/dyna_pci10xx.c index bd804f1..82002c4 100644 --- a/drivers/staging/comedi/drivers/dyna_pci10xx.c +++ b/drivers/staging/comedi/drivers/dyna_pci10xx.c @@ -45,8 +45,6 @@ #define READ_TIMEOUT 50 -static DEFINE_MUTEX(start_stop_sem); - static const struct comedi_lrange range_pci1050_ai = { 3, { BIP_RANGE(10), BIP_RANGE(5), @@ -267,20 +265,15 @@ static int dyna_pci10xx_attach(struct comedi_device *dev, struct comedi_subdevice *s; int ret; - mutex_lock(&start_stop_sem); - if (alloc_private(dev, sizeof(struct dyna_pci10xx_private)) < 0) { printk(KERN_ERR "comedi: dyna_pci10xx: " "failed to allocate memory!\n"); - mutex_unlock(&start_stop_sem); return -ENOMEM; } pcidev = dyna_pci10xx_find_pci_dev(dev, it); - if (!pcidev) { - mutex_unlock(&start_stop_sem); + if (!pcidev) return -EIO; - } devpriv->pci_dev = pcidev; dev->board_name = thisboard->name; @@ -289,7 +282,6 @@ static int dyna_pci10xx_attach(struct comedi_device *dev, if (comedi_pci_enable(pcidev, DRV_NAME)) { printk(KERN_ERR "comedi: dyna_pci10xx: " "failed to enable PCI device and request regions!"); - mutex_unlock(&start_stop_sem); return -EIO; } @@ -306,10 +298,8 @@ static int dyna_pci10xx_attach(struct comedi_device *dev, devpriv->BADR5 = pci_resource_start(pcidev, 5); ret = comedi_alloc_subdevices(dev, 4); - if (ret) { - mutex_unlock(&start_stop_sem); + if (ret) return ret; - } /* analog input */ s = dev->subdevices + 0; @@ -353,7 +343,6 @@ static int dyna_pci10xx_attach(struct comedi_device *dev, s->insn_bits = dyna_pci10xx_do_insn_bits; devpriv->valid = 1; - mutex_unlock(&start_stop_sem); printk(KERN_INFO "comedi: dyna_pci10xx: %s - device setup completed!\n", thisboard->name); -- 1.7.11