Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'mfd-fixes-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

Pull mfd bugfix from Lee Jones.

Fix stmfx type confusion between regmap_read() (which takes an "u32")
and the bitmap operations (which take an "unsigned long" array).

* tag 'mfd-fixes-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd:
mfd: stmfx: Fix an endian bug in stmfx_irq_handler()
mfd: stmfx: Uninitialized variable in stmfx_irq_handler()

+6 -6
+6 -6
drivers/mfd/stmfx.c
··· 204 204 static irqreturn_t stmfx_irq_handler(int irq, void *data) 205 205 { 206 206 struct stmfx *stmfx = data; 207 - unsigned long n, pending; 208 - u32 ack; 209 - int ret; 207 + unsigned long bits; 208 + u32 pending, ack; 209 + int n, ret; 210 210 211 - ret = regmap_read(stmfx->map, STMFX_REG_IRQ_PENDING, 212 - (u32 *)&pending); 211 + ret = regmap_read(stmfx->map, STMFX_REG_IRQ_PENDING, &pending); 213 212 if (ret) 214 213 return IRQ_NONE; 215 214 ··· 223 224 return IRQ_NONE; 224 225 } 225 226 226 - for_each_set_bit(n, &pending, STMFX_REG_IRQ_SRC_MAX) 227 + bits = pending; 228 + for_each_set_bit(n, &bits, STMFX_REG_IRQ_SRC_MAX) 227 229 handle_nested_irq(irq_find_mapping(stmfx->irq_domain, n)); 228 230 229 231 return IRQ_HANDLED;