I just migrated from ide_platform to pata_platform on my Swarm/Mips board. This resulted in "nobody cared" during request_irq(). The only difference I noticed between ATA and IDE before registering the interrupt handler is that IDE does not enable the interrupt. After removing the flag it looks like the controller is working with the ATA layer. If I flip the polarity of the interrupt, I see the "nobody cared" message shortly after seeing ata_sff_softreset() during boot. So I tried to perform the software reset with ATA_SRST before requesting the interrupt hoping that it makes interrupt go away. It did not so. Does anyone have an idea what might go wrong here? Signed-off-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx> --- drivers/ata/libata-core.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 6728328..8484223 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -6274,6 +6274,13 @@ int ata_host_activate(struct ata_host *host, int irq, return ata_host_register(host, sht); } + for (i = 0; i < host->n_ports; i++) { + struct ata_port *ap; + + ap = host->ports[i]; + iowrite8(ap->ctl & ~ATA_NIEN, ap->ioaddr.ctl_addr); + } + rc = devm_request_irq(host->dev, irq, irq_handler, irq_flags, dev_driver_string(host->dev), host); if (rc) -- 1.6.6 -- 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