On 11/06/2018 05:42 AM, Chaohong guo wrote: > Interrupt vector 0 can be used on some platform. It exists even on x86. However, it's never passed to request_irq() there IIRC, just to setup_irq()... > In libata, the routine > ata_host_activate() considers irq=0 as invalid. As a matter of fact, Linus told everybody to consider IRQ0 invalid, hence this code perhaps... > As a result, when running > linux in non-root cell of Jailhouse, if we allocate just one PCI ATA > device to the guest, the device will get an IRQ of value 0. Although IRQ0 > is perfectly legal, ATA device will fail to start up. I've just rechecked the PCI specs and they say that on x86 IRQ0 is valid, so your software is OK. > Signed-off-by: Chaohong guo <chaohong.guo@xxxxxxxxx> > --- > drivers/ata/libata-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Like Bart said, this patch alone would break some drivers... [...] MBR, Sergei