From eabbd986b7d3327c6a77e0748db1f87bada388e5 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Thu, 18 Apr 2013 14:33:04 -0700 Subject: [PATCH] --- yaml --- r: 364158 b: refs/heads/master c: e608796ab624049419e987be32f81ab08486c7ba h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/comedi/drivers/das1800.c | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 820c5db5390d..38a09da4df04 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4b3fb0ff745582e2381945dc56f8f1b3e4a2c9c3 +refs/heads/master: e608796ab624049419e987be32f81ab08486c7ba diff --git a/trunk/drivers/staging/comedi/drivers/das1800.c b/trunk/drivers/staging/comedi/drivers/das1800.c index 767620102029..4aa2c509124d 100644 --- a/trunk/drivers/staging/comedi/drivers/das1800.c +++ b/trunk/drivers/staging/comedi/drivers/das1800.c @@ -1541,11 +1541,8 @@ static int das1800_attach(struct comedi_device *dev, unsigned long iobase2 = dev->iobase + IOBASE2; ret = __comedi_request_region(dev, iobase2, DAS1800_SIZE); - if (ret) { - release_region(dev->iobase, DAS1800_SIZE); - dev->iobase = 0; - return -EIO; - } + if (ret) + return ret; devpriv->iobase2 = iobase2; } @@ -1671,21 +1668,20 @@ static void das1800_detach(struct comedi_device *dev) { struct das1800_private *devpriv = dev->private; - if (dev->iobase) - release_region(dev->iobase, DAS1800_SIZE); if (dev->irq) free_irq(dev->irq, dev); if (devpriv) { - if (devpriv->iobase2) - release_region(devpriv->iobase2, DAS1800_SIZE); if (devpriv->dma0) free_dma(devpriv->dma0); if (devpriv->dma1) free_dma(devpriv->dma1); kfree(devpriv->ai_buf0); kfree(devpriv->ai_buf1); + if (devpriv->iobase2) + release_region(devpriv->iobase2, DAS1800_SIZE); } -}; + comedi_legacy_detach(dev); +} static struct comedi_driver das1800_driver = { .driver_name = "das1800",