summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2012-01-03 16:08:28 +0000
committerMichael Sevakis <jethead71@rockbox.org>2012-01-03 16:08:28 +0000
commitc9dad055542a7c12efb25f3b7bbf63fcfce51205 (patch)
tree05829a2e768f2023e982e453dd34174aa3b4aaa5
parent68ccefed5a7d0f3183ddbf132ec079e83ca68757 (diff)
i.MX31: need an additional ISR lockout instance when closing driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31539 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/imx31/mc13783-imx31.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/target/arm/imx31/mc13783-imx31.c b/firmware/target/arm/imx31/mc13783-imx31.c
index 31b91b46fc..627048fa54 100644
--- a/firmware/target/arm/imx31/mc13783-imx31.c
+++ b/firmware/target/arm/imx31/mc13783-imx31.c
@@ -45,7 +45,8 @@ static uint32_t pmic_int_sense_enb[2]; /* Enabled sense reading */
static uint32_t int_pnd_buf[2]; /* Pending ints */
static uint32_t int_data_buf[4]; /* ISR data buffer */
static struct spi_transfer_desc int_xfers[2]; /* ISR transfer descriptor */
-static bool restore_event = true;
+static bool restore_event = true; /* Protect SPI callback from unmasking GPIO
+ interrupt (lockout) */
static inline bool mc13783_transfer(struct spi_transfer_desc *xfer,
uint32_t *txbuf,
@@ -171,6 +172,7 @@ void INIT_ATTR mc13783_init(void)
void mc13783_close(void)
{
+ restore_event = false;
gpio_disable_event(MC13783_EVENT_ID);
spi_enable_node(&mc13783_spi, false);
}