The mutex has to be acquired on register write to avoid interference with a simultaneous retu_set_clear_reg_bits operation. Signed-off-by: Michael Buesch <mb@xxxxxxxxx> --- Tested on n810. Index: linux-omap-2.6/drivers/cbus/retu.c =================================================================== --- linux-omap-2.6.orig/drivers/cbus/retu.c 2011-02-23 23:32:26.388763324 +0100 +++ linux-omap-2.6/drivers/cbus/retu.c 2011-02-26 23:27:08.772462280 +0100 @@ -120,7 +120,9 @@ { struct retu *retu = dev_get_drvdata(child->parent); + mutex_lock(&retu->mutex); __retu_write_reg(retu, reg, val); + mutex_unlock(&retu->mutex); } EXPORT_SYMBOL_GPL(retu_write_reg); -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html