Sorry to hear this bug is still around. I’ve always suspected this is a bug somewhere in either:
a) the low power MCU inside the WP85 module (I believe it’s on the stuck address
0x3a but scan the bus to be sure)
b) the driver for the Qualcomm Universal Peripheral Engine (QUP) i2c adapter
Any comment regarding the MCU would have to come from Sierra Wireless since that code is closed source. Perhaps @dfrey could point you in the right direction.
The QUP i2c driver was introduced to the Linux kernel in this patch (https://lwn.net/Articles/404029/). You may be able to find some more discussion in the kernel mailing list for this driver. I would also check to see which version is rolled into the WP85 firmware by downloading the release 16 tarball. I suspect it’s a custom/back-ported version of the driver since it’s not maintained for Linux 3. You may be able to back-port some of the newer patches yourself (have a look at the history here https://github.com/torvalds/linux/commits/master/drivers/i2c/busses/i2c-qup.c).
Best of luck with this bug.