Re: [patch 1/1] LIBATA: Allow devices without IRQ specified to fall back

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> is not correclty supported by libata as the pdev->irq field
> has no valid interrupt set. This is due to the legacy IRQ
> check in ata_pci_sff_activate_host() only checking to see 
> if the device class is legacy, not that the IRQ has been
> setup.

It does that check as that is the correct check to do. If the device is
in native mode with no assigned IRQ we must poll, we cannot assume that
legacy interrupts are in use.

> Change ata_pci_sff_activate_host() to try the legacy IRQ
> numbers (which works correctly) when the dev->irq has not
> been set. The current check for !legacy_mode && dev->irq
> does not deal with devices that are not in legacy mode
> but do not have mapped interrupts.

If they have no mapped interrupt and are not in legacy mode then they
have no interrupt we can use and we should poll. Your assumption that if
no IRQ is assigned we should use the legacy interrupts is incorrect for
PC class systems.

Can you not correct this with a PCI quirk handler for your board instead ?

Alan

--
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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux