On Thu, Aug 25, 2005 at 11:26:58AM -0400, Bryan Althouse wrote: > From: "Bryan Althouse" <bryan.althouse@xxxxxxxxxxxx> > To: "'Ralf Baechle'" <ralf@xxxxxxxxxxxxxx> > Cc: <linux-mips@xxxxxxxxxxxxxx> > Subject: RE: custom ide driver causes "Badness in smp_call_function" > Date: Thu, 25 Aug 2005 11:26:58 -0400 > Content-Type: text/plain; > charset="us-ascii" > > Ralf, > > Thank you for your help. > I'm doing MMIO, not PIO, but it looks like your assessment is still valid. ... which still is programmed io ... > I've been searching for places where ide MMIO is performed with interrupts > disabled. I got excited when I found these lines in probe_hwif() of > ide-probe.c: > > irqd = hwif->irq; > if (irqd) > disable_irq(hwif->irq); > > I was not initializing hwif->irq in my driver, so probably the interrupts > were being disabled here, and subsequent lines were causing the SMP badness. > I added the line "hwif->irq = 0" to my driver. Interrupts are no longer > disabled here, but still I get the SMP badness. I'll keep looking for other > places where the interrupts might be disabled. > > Does anyone know if the mips/swarm.c driver has this problem with SMP? > Thanks! No, SB1 has sane caches. Ralf