[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <49532592.9050202@jp.fujitsu.com>
Date: Thu, 25 Dec 2008 15:17:54 +0900
From: Hidetoshi Seto <seto.hidetoshi@...fujitsu.com>
To: Jike Song <albcamus@...il.com>
CC: linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
jbarnes@...tuousgeek.org,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH] PCI/MSI: bugfix/utilize for msi_capability_init()
Jike Song wrote:
> On Wed, Dec 24, 2008 at 4:27 PM, Hidetoshi Seto
> <seto.hidetoshi@...fujitsu.com> 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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists