Hi Jonathan, > that look about right are going down them. I had some misconfiguration the way i had registered the interrupt handler. A very naive question at this point. Wouldnt it be possible to "not" use a GPIO irq and bottom half and instead to simplify the driver to start with, use a synchronous read routine.? I know this may violate the kernel framework but... This is what i get on the console now $ cat /sys/class/hwmon/hwmon0/device/hwmon\:hwmon0/device/humidi ty1_input sht15 sht15: Command not acknowledged cat: read error: Input/output error ~$ cat /sys/class/hwmon/hwmon0/device/hwmon\:hwmon0/device/humidi ty1_input cat: read error: Timer expired root@freescale ~$ cat /sys/class/hwmon/hwmon0/device/hwmon\:hwmon0/device/humidi ty1_input Unbalanced enable for IRQ 0 WARNING: at kernel/irq/manage.c:174 enable_irq() [<c002dce0>] (dump_stack+0x0/0x14) from [<c0074050>] (enable_irq+0x74/0xdc) [<c0073fdc>] (enable_irq+0x0/0xdc) from [<bf000408>] (sht15_update_vals+0x190/0x 2c8 [sht15]) r6:00000010 r5:cfdbf420 r4:cfe331e0 [<bf000278>] (sht15_update_vals+0x0/0x2c8 [sht15]) from [<bf0007f4>] (sht15_show _humidity+0x1c/0x130 [sht15]) [<bf0007d8>] (sht15_show_humidity+0x0/0x130 [sht15]) from [<c0175044>] (dev_attr _show+0x24/0x30) [<c0175020>] (dev_attr_show+0x0/0x30) from [<c00d99ac>] (sysfs_read_file+0xa8/0x 108) [<c00d9904>] (sysfs_read_file+0x0/0x108) from [<c009ac40>] (vfs_read+0xb4/0x144) [<c009ab8c>] (vfs_read+0x0/0x144) from [<c009b080>] (sys_read+0x44/0x70) r7:00000000 r6:00000000 r5:fffffff7 r4:cfea93c0 [<c009b03c>] (sys_read+0x0/0x70) from [<c0029ec0>] (ret_fast_syscall+0x0/0x2c) r7:00000003 r6:4001da30 r5:beaa9ae0 r4:00002000 cat: read error: Timer expired -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html