3f388a91c39d77a0ce43bad5333b902 parent 70849251147c3499afb8d7500d0fba240da73456 author Tony Lindgren 1206300500 +0100 committer Jean Delvare 1206300500 +0100 i2c-omap: Fix unhandled fault If an I2C interrupt happens between disabling interface clock and functional clock, the interrupt handler will produce an external abort on non-linefetch error when trying to access driver registers while interface clock is disabled. This patch fixes the problem by saving and disabling i2c-omap interrupt before turning off the clocks. Also disable functional clock before the interface clock as suggested by Paul Walmsley. Patch also renames enable/disable_clocks functions to unidle/idle functions. Note that the driver is currently not taking advantage of the idle interrupts. To use the idle interrupts, driver would have to enable interface clock based on the idle interrupt and dev->idle flag. This patch has been tested in linux-omap tree with various omaps. Cc: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Jean Delvare «„’i› x