Hi all, I need your help to understanding my strange issue... The scenario is that: - I have one I2C device (microcontroller) that expose some sensors. - I wrote one driver that create one IIO device for each sensor. - There is only one trigger associated to all IIO devices, and one buffer for each device. When interrupt appear (DRDY of one or more sensors), the driver reads a mask from micro to understand how many sensors have new data. After that, the driver reads all new data from micro and save all data to one buffer. This is done in a threaded irq function. When iio_trigger_poll_chained is called, all data are saved to one common buffer, each iio_triggered_buffer_setup functions is called and can split and push their data to iio_buffer. The issue is that: after some samples (about 50:100) the iio_trigger_poll_chained doesn't call the iio_triggered_buffer_setup functions and trig->use_count is always equals to 1. To well understanding: static irqreturn_t st_drdy_poll(int irq, void *private) { // stuff statements // i2c read mask // i2c read sensors data iio_trigger_poll_chained(trig, 0); return IRQ_HANDLED; } static irqreturn_t st_trigger_handler(int irq, void *p) { // stuff statements // only check operations iio_push_to_buffers(sensor_iio_dev, sdata->buffer_data); iio_trigger_notify_done(sensor_iio_dev->trig); return IRQ_HANDLED; } trigger_allocate() { err = request_threaded_irq(client->irq, NULL, st_drdy_poll, IRQF_TRIGGER_RISING | IRQF_ONESHOT, name, trig); } buffer_allocate() { return iio_triggered_buffer_setup(sensor_iio_dev, &iio_pollfunc_store_time, &st_trigger_handler, &st_buffer_setup_ops); } If you have any comments...Thanks for your time! Denis -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html