summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/i2c-pp5020.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/firmware/drivers/i2c-pp5020.c b/firmware/drivers/i2c-pp5020.c
index 0c594ecbe3..232de9cb5a 100644
--- a/firmware/drivers/i2c-pp5020.c
+++ b/firmware/drivers/i2c-pp5020.c
@@ -81,18 +81,16 @@ static int ipod_i2c_read_byte(unsigned int addr, unsigned int *data)
81 81
82 outb(inb(IPOD_I2C_CTRL) | IPOD_I2C_SEND, IPOD_I2C_CTRL); 82 outb(inb(IPOD_I2C_CTRL) | IPOD_I2C_SEND, IPOD_I2C_CTRL);
83 83
84 set_irq_level(old_irq_level);
85
86 if (data) 84 if (data)
87 { 85 {
88 if (ipod_i2c_wait_not_busy() < 0) 86 if (ipod_i2c_wait_not_busy() < 0)
89 { 87 {
88 set_irq_level(old_irq_level);
90 return -1; 89 return -1;
91 } 90 }
92 old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL);
93 *data = inb(IPOD_I2C_DATA0); 91 *data = inb(IPOD_I2C_DATA0);
94 set_irq_level(old_irq_level);
95 } 92 }
93 set_irq_level(old_irq_level);
96 } 94 }
97 95
98 return 0; 96 return 0;