> I looked into the I2C adapter / mux code but I got lost rapidly :). It > feels like the natural solution would be for the I2C core to not hold > the adapter lock while doing transactions on the muxed child adapter. The patch series I mentioned to you does exactly that. It locks only the mux side of the muxed bus, not the whole parent adapter. It didn't work for you because the mux driver maybe needed some adaptions as well? However, I am still undecided if that series should go upstream because it makes the mux code another magnitude more complex. And while this seems to be the second issue which could be fixed by that series, both issues are corner cases, so I am not sure it is worth the complexity.