Skip to contentSkip to conversation

mfd: fix a bug in the asic3 irq demux code

PATCH Applied Philipp Zabel 3 participants 8 messages Jul 2, 2008 – Jul 3, 2008 Multifunction devices (MFD)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mfd: fix a bug in the asic3 irq demux code

Wrong irq numbers were given to desc->handle_irq, which on some devices caused endless loops (asic3_irq_demux calling itself, basically).

---
 drivers/mfd/asic3.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/mfd/asic3.c +1 -1
index 8e41130..59ec9c6 100644
@@ -308,7 +308,7 @@ static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc)
 		for (i = ASIC3_NUM_GPIOS; i < ASIC3_NR_IRQS; i++) {
 			/* They start at bit 4 and go up */
 			if (status & (1 << (i - ASIC3_NUM_GPIOS + 4))) {
-				desc = irq_desc +  + i;
+				desc = irq_desc + asic->irq_base + i;
 				desc->handle_irq(asic->irq_base + i,
 						 desc);
 			}
Signature · 1 line
1.5.6
#1 lore raw
Quoted 14 lines · On Wed, 02 Jul 2008 19:42:53 +0200 Philipp Zabel <[email protected]>…

Wrong irq numbers were given to desc->handle_irq, which on some devices caused endless loops (asic3_irq_demux calling itself, basically).

---
 drivers/mfd/asic3.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/mfd/asic3.c +0 -0
index 8e41130..59ec9c6 100644

drivers/mfd/asic3.c static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc) · line 314

Quoted 8 lines
drivers/mfd/asic3.c +1 -1
@@ -308,7 +308,7 @@ static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc)
 		for (i = ASIC3_NUM_GPIOS; i < ASIC3_NR_IRQS; i++) {
 			/* They start at bit 4 and go up */
 			if (status & (1 << (i - ASIC3_NUM_GPIOS + 4))) {
-				desc = irq_desc +  + i;
+				desc = irq_desc + asic->irq_base + i;
 				desc->handle_irq(asic->irq_base + i,
 						 desc);
 			}

hm, I seem to have a pile of mfd patches. I'll look to offload those on Samuel.

Samuel, will you be setting up an MFD git tree for linux-next? (You should, please).

#2 lore raw

Hi Andrew,

Quoted 28 lines · Andrew Morton
Quoted 14 lines · On Wed, 02 Jul 2008 19:42:53 +0200 Philipp Zabel <[email protected]>…

Wrong irq numbers were given to desc->handle_irq, which on some devices caused endless loops (asic3_irq_demux calling itself, basically).

---
 drivers/mfd/asic3.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/mfd/asic3.c +0 -0
index 8e41130..59ec9c6 100644

drivers/mfd/asic3.c static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc) · line 314

Quoted 8 lines
drivers/mfd/asic3.c +1 -1
@@ -308,7 +308,7 @@ static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc)
 		for (i = ASIC3_NUM_GPIOS; i < ASIC3_NR_IRQS; i++) {
 			/* They start at bit 4 and go up */
 			if (status & (1 << (i - ASIC3_NUM_GPIOS + 4))) {
-				desc = irq_desc +  + i;
+				desc = irq_desc + asic->irq_base + i;
 				desc->handle_irq(asic->irq_base + i,
 						 desc);
 			}

hm, I seem to have a pile of mfd patches. I'll look to offload those on Samuel.

Quoted 2 lines

Samuel, will you be setting up an MFD git tree for linux-next? (You should, please).

I have set up an mfd tree here: http://git.o-hand.com/?r=linux-mfd
with a for-next branch. I havent asked Stephen to pull from it yet, and I havent Cc'ed you on the mfd patches that are sitting there as I was mostly setting things up. I will clean things up and re-apply them so that you get a notification for all the mfd patches that are already on -mm.

I also requested for an account on kernel.org, but I'm still waiting for an answer.

Cheers,
Samuel.

#3 lore raw
Quoted 31 lines · On Wed, 2 Jul 2008 20:22:20 +0200 Samuel Ortiz <[email protected]> wrote:

Hi Andrew,

Quoted 28 lines · Andrew Morton
Quoted 14 lines · On Wed, 02 Jul 2008 19:42:53 +0200 Philipp Zabel <[email protected]>…

Wrong irq numbers were given to desc->handle_irq, which on some devices caused endless loops (asic3_irq_demux calling itself, basically).

---
 drivers/mfd/asic3.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/mfd/asic3.c +0 -0
index 8e41130..59ec9c6 100644

drivers/mfd/asic3.c static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc) · line 314

Quoted 8 lines
drivers/mfd/asic3.c +1 -1
@@ -308,7 +308,7 @@ static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc)
 		for (i = ASIC3_NUM_GPIOS; i < ASIC3_NR_IRQS; i++) {
 			/* They start at bit 4 and go up */
 			if (status & (1 << (i - ASIC3_NUM_GPIOS + 4))) {
-				desc = irq_desc +  + i;
+				desc = irq_desc + asic->irq_base + i;
 				desc->handle_irq(asic->irq_base + i,
 						 desc);
 			}

hm, I seem to have a pile of mfd patches. I'll look to offload those on Samuel.

Quoted 4 lines
Quoted 2 lines

Samuel, will you be setting up an MFD git tree for linux-next? (You should, please).

I have set up an mfd tree here: http://git.o-hand.com/?r=linux-mfd
with a for-next branch.

OK, thanks. Linus gets upset over git-over-http for some reason, so I'd suggest that you move to kernel.org when that is set up.

Plus: I pull from lots of different git servers and it's quite common that at least one of them is dead. It was git://www.linux-m32r.org
yesterday.

Quoted 8 lines

I havent asked Stephen to pull from it yet,
and I havent Cc'ed you on the mfd patches that are sitting there as I was mostly setting things up. I will clean things up and re-apply them so that you get a notification for all the mfd patches that are already on -mm.

I also requested for an account on kernel.org, but I'm still waiting for an answer.

Cool.

I assume that [email protected] is now the preferred address? Will [email protected] continue to work?

#4 lore raw
Quoted 34 lines · Andrew Morton
Quoted 31 lines · On Wed, 2 Jul 2008 20:22:20 +0200 Samuel Ortiz <[email protected]> wrote:

Hi Andrew,

Quoted 28 lines · Andrew Morton
Quoted 14 lines · On Wed, 02 Jul 2008 19:42:53 +0200 Philipp Zabel <[email protected]>…

Wrong irq numbers were given to desc->handle_irq, which on some devices caused endless loops (asic3_irq_demux calling itself, basically).

---
 drivers/mfd/asic3.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/mfd/asic3.c +0 -0
index 8e41130..59ec9c6 100644

drivers/mfd/asic3.c static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc) · line 314

Quoted 8 lines
drivers/mfd/asic3.c +1 -1
@@ -308,7 +308,7 @@ static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc)
 		for (i = ASIC3_NUM_GPIOS; i < ASIC3_NR_IRQS; i++) {
 			/* They start at bit 4 and go up */
 			if (status & (1 << (i - ASIC3_NUM_GPIOS + 4))) {
-				desc = irq_desc +  + i;
+				desc = irq_desc + asic->irq_base + i;
 				desc->handle_irq(asic->irq_base + i,
 						 desc);
 			}

hm, I seem to have a pile of mfd patches. I'll look to offload those on Samuel.

Quoted 7 lines
Quoted 4 lines
Quoted 2 lines

Samuel, will you be setting up an MFD git tree for linux-next? (You should, please).

I have set up an mfd tree here: http://git.o-hand.com/?r=linux-mfd
with a for-next branch.

OK, thanks. Linus gets upset over git-over-http for some reason, so I'd suggest that you move to kernel.org when that is set up.

Oh, this is only the gitweb interface, the git address is:
git://git.o-hand.com/linux-mfd.git

But please dont pull from it right now. I'll let you (and Stephen) know whenever it is ready for pulling.

Quoted 3 lines

Plus: I pull from lots of different git servers and it's quite common that at least one of them is dead. It was git://www.linux-m32r.org
yesterday.

If I get an account on kernel.org, I'll definitely move over there.

Quoted 6 lines
Quoted 6 lines

I havent asked Stephen to pull from it yet,
and I havent Cc'ed you on the mfd patches that are sitting there as I was mostly setting things up. I will clean things up and re-apply them so that you get a notification for all the mfd patches that are already on -mm.

Quoted 7 lines
Quoted 2 lines

I also requested for an account on kernel.org, but I'm still waiting for an answer.

Cool.

I assume that [email protected] is now the preferred address? Will [email protected] continue to work?

Both will work. I'll do the MFD work from my @openedhand.com address and my IrDA one from @sortiz.org

Cheers,
Samuel.

#6 lore raw
Quoted 7 lines · Andrew Morton
Quoted 2 lines · On Wed, 2 Jul 2008 20:22:20 +0200 Samuel Ortiz <[email protected]> wrote:

I have set up an mfd tree here: http://git.o-hand.com/?r=linux-mfd
with a for-next branch

Hang on, that's not a git URL. What's the preferred git:// URL?

git://git.o-hand.com/linux-mfd.git should do it.

Cheers,
Samuel.

Applied
#7 lore raw
In reply to Philipp Zabel

Hi Philipp,

Quoted 3 lines · Philipp Zabel

Wrong irq numbers were given to desc->handle_irq, which on some devices caused endless loops (asic3_irq_demux calling itself, basically).

Thanks, applied to my mfd tree.

Cheers,
Samuel.

Quoted 22 lines
---
 drivers/mfd/asic3.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/mfd/asic3.c +1 -1
index 8e41130..59ec9c6 100644
@@ -308,7 +308,7 @@ static void asic3_irq_demux(unsigned int irq, struct irq_desc *desc)
 		for (i = ASIC3_NUM_GPIOS; i < ASIC3_NR_IRQS; i++) {
 			/* They start at bit 4 and go up */
 			if (status & (1 << (i - ASIC3_NUM_GPIOS + 4))) {
-				desc = irq_desc +  + i;
+				desc = irq_desc + asic->irq_base + i;
 				desc->handle_irq(asic->irq_base + i,
 						 desc);
 			}
Signature · 1 line
1.5.6