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

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

 



On Wednesday, December 24, 2008 10:17 pm Hidetoshi Seto wrote:
> 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.

Sorry, finally picked this one up.  I've added a "cc: stable" on it as well, 
so when I push it to Linus it can go into 2.6.28.x.

In the future, please cc me on patches that are ready for upstream too, makes 
it easier for me to track things.

Thanks,
-- 
Jesse Barnes, Intel Open Source Technology Center
--
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