On 7/9/2015 12:03 AM, Shubhrajyoti Datta wrote:
Seems reasonable to try to remove it. I'll do some testing and send out a v3 if it works, thanks.@@ -330,8 +310,18 @@ static irqreturn_t xadc_zynq_interrupt_handler(int irq, void *devid) xadc_zynq_update_intmsk(xadc, 0, 0); ret = IRQ_WAKE_THREAD; } + + alarm = xadc->zynq_alarm; + xadc->zynq_alarm = 0; + spin_unlock(&xadc->lock);+ xadc_handle_events(indio_dev, xadc_zynq_transform_alarm(alarm)); + + /* unmask the required interrupts in timer. */ + schedule_delayed_work(&xadc->zynq_unmask_work, + msecs_to_jiffies(XADC_ZYNQ_UNMASK_TIMEOUT)); + Now that we are in the threaded context do we need the work queue stuff.
-- Xander Huff Staff Software Engineer National Instruments -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

