Re: [PATCH] PCI/MSI: bugfix/utilize for msi_capability_init()

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

 



Jike Song wrote:
> On Wed, Dec 24, 2008 at 4:27 PM, Hidetoshi Seto
> <seto.hidetoshi@xxxxxxxxxxxxxx> wrote:
>> This patch fix a following bug and does a cleanup.
>>
>> bug:
>>        commit 5993760f7fc75b77e4701f1e56dc84c0d6cf18d5
>>        had a wrong change (since is_64 is boolean[0|1]):
>>
>> -               pci_write_config_dword(dev,
>> -                       msi_mask_bits_reg(pos, is_64bit_address(control)),
>> -                       maskbits);
>> +               pci_write_config_dword(dev, entry->msi_attrib.is_64, maskbits);
>>
> Yes, really a nasty bug. I'm feeling guilty...
> Should this fix hit 2.6.28 release?  I CCed Jesse for his point.

Unfortunately we failed to take this fix into Santa's bag...

Note that this bug affects mask condition after calling pci_enable_msi()
for devices with MSI capability with (optional) per-vector masking support.
Devices with MSI-X or MSI without masking support are safe.
Once unmask/mask_msi_irq() is called, the condition should be fixed.

And the wrong pci_write_config_dword() will have no effects because
target registers (fields in header, such as Vendor ID) are read-only.

Thanks,
H.Seto

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux