triggered = 0;
comedi_spin_lock_irqsave(&subpriv->spinlock, flags);
- oldevents = s->async ? s->async->events : 0;
+ oldevents = s->async->events;
if (subpriv->has_int_sce) {
/*
* Collect interrupt sources that have triggered and disable
outb(cur_enabled, subpriv->iobase);
}
- if (s->async && subpriv->active) {
+ if (subpriv->active) {
/*
* The command is still active.
*
}
comedi_spin_unlock_irqrestore(&subpriv->spinlock, flags);
- if (s->async && (oldevents != s->async->events)) {
+ if (oldevents != s->async->events) {
comedi_event(dev, s);
}
comedi_device *dev=d;
int handled;
+ if (!dev->attached) {
+ return IRQ_NONE;
+ }
+
if (devpriv->intr_sd >= 0) {
handled = dio200_handle_read_intr(dev,
dev->subdevices + devpriv->intr_sd);