[Silly gmail defaulting to html the first time around, sorry for the re-send to those not on lists] 2013/1/24 Wolfram Sang <w.sang@xxxxxxxxxxxxxx>: > On Wed, Nov 07, 2012 at 11:44:37AM +0100, Jean Delvare wrote: >> On Wed, 07 Nov 2012 15:58:26 +0530, Naveen Krishna Chatradhi wrote: >> > Don't unmark the device as suspended until after it's been re-setup. >> > >> > The main race would be w.r.t. an i2c driver that gets resumed at the same >> > time (asyncronously), that is allowed to do a transfer since suspended >> > is set to 0 before reinit, but really should have seen the -EIO return >> > instead. >> >> I thought that the suspend order was children first and the resume >> order was parent first? > > Same here, why does it not work this way? Sorry for being quiet on this so far, I didn't notice the controversy until now. This is actually about half of what the original fix was (which I wrote, thus my signed-off-by). The original one was related to us having the GPIO handshake for a shared bus (see separate discussions on how that should be upstreamed, and the work on that). For reference, that patch is at: https://gerrit.chromium.org/gerrit/#/c/28126/1/drivers/i2c/busses/i2c-s3c2410.c. So, I'm not sure that this patch is really needed. The significant part of the original one was the move of our internal s3c24xx_i2c_dt_gpio_free() below setting suspended = 1. Upstream implementation of the same functionality will be implemented differently, most likely. -Olof -- 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