From ca099107bfa547d239f3c1d1686d4baf6ea0c43d Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Fri, 7 Sep 2012 17:48:48 -0700 Subject: [PATCH] --- yaml --- r: 324972 b: refs/heads/master c: b179748d21562decdf323f2d686920b836b3f272 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/comedi/drivers/me4000.c | 21 +++++++++---------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 977b4d009d31..2f00e5f243dc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 39780a1caf92342c4deb0d14d39703cf5c70cdac +refs/heads/master: b179748d21562decdf323f2d686920b836b3f272 diff --git a/trunk/drivers/staging/comedi/drivers/me4000.c b/trunk/drivers/staging/comedi/drivers/me4000.c index 219ad6c5a174..7d22aead2257 100644 --- a/trunk/drivers/staging/comedi/drivers/me4000.c +++ b/trunk/drivers/staging/comedi/drivers/me4000.c @@ -1781,8 +1781,6 @@ static int me4000_attach_pci(struct comedi_device *dev, if (!info->plx_regbase || !dev->iobase || !info->timer_regbase) return -ENODEV; - dev->irq = pcidev->irq; - result = xilinx_download(dev); if (result) return result; @@ -1811,23 +1809,22 @@ static int me4000_attach_pci(struct comedi_device *dev, s->range_table = &me4000_ai_range; s->insn_read = me4000_ai_insn_read; - if (dev->irq > 0) { - if (request_irq(dev->irq, me4000_ai_isr, - IRQF_SHARED, "ME-4000", dev)) { - printk - ("comedi%d: me4000: me4000_attach(): " - "Unable to allocate irq\n", dev->minor); + if (pcidev->irq > 0) { + if (request_irq(pcidev->irq, me4000_ai_isr, + IRQF_SHARED, dev->board_name, dev)) { + dev_warn(dev->class_dev, + "request_irq failed\n"); } else { dev->read_subdev = s; s->subdev_flags |= SDF_CMD_READ; s->cancel = me4000_ai_cancel; s->do_cmdtest = me4000_ai_do_cmd_test; s->do_cmd = me4000_ai_do_cmd; + + dev->irq = pcidev->irq; } } else { - printk(KERN_WARNING - "comedi%d: me4000: me4000_attach(): " - "No interrupt available\n", dev->minor); + dev_warn(dev->class_dev, "No interrupt available\n"); } } else { s->type = COMEDI_SUBD_UNUSED; @@ -1904,6 +1901,8 @@ static void me4000_detach(struct comedi_device *dev) { struct pci_dev *pcidev = comedi_to_pci_dev(dev); + if (dev->irq) + free_irq(dev->irq, dev); if (pcidev) { if (dev->iobase) { reset_board(dev);