On Monday 07 July 2008, Sergei Shtylyov wrote: > Hello, I wrote: > > >> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> > > > We're getting "ide0: unexpected interrupt, status=0x58, count=1" with > > palm_bk3710 driver when running hdparm with option -X. That interrupt > > has beenidentidied to occur while ide_driveid_update() waits for non-BSY > > status polling the alt. status reg. After looking at the code there, I > > couldn't help wondering why I never saw that before with any other > > controller since the code looked like it was bound to produce the > > unexpected interrupts -- unless I'm missing something?.. > > Ah, I know why: unexpected_intr() just is never called for PCI chips. > Here's an related excerpt from ide_intr(): > > #ifdef CONFIG_BLK_DEV_IDEPCI > if (hwif->chipset != ide_pci) > #endif /* CONFIG_BLK_DEV_IDEPCI */ > { > /* > * Probably not a shared PCI interrupt, > * so we can safely try to do something about it: > */ > unexpected_intr(irq, hwgroup); > #ifdef CONFIG_BLK_DEV_IDEPCI > } else { > /* > * Whack the status register, just in case > * we have a leftover pending IRQ. > */ > (void) hwif->INB(hwif->io_ports.status_addr); > #endif /* CONFIG_BLK_DEV_IDEPCI */ Yes, we may consider removing #ifdef-s and always calling unexpected_intr() (ide_driveid_update() needs fixing first though). Thanks, Bart -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html