[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] pci: fix info pci with host bridge.
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] Re: [PATCH] pci: fix info pci with host bridge. |
Date: |
Mon, 8 Feb 2010 12:10:52 +0200 |
User-agent: |
Mutt/1.5.19 (2009-01-05) |
On Mon, Feb 08, 2010 at 03:40:38PM +0900, Isaku Yamahata wrote:
> This patch fixes 525e05147d5a3bdc08caa422d108c1ef71b584b5.
> pci host bridge doesn't have header type of bridge.
> The check should be by header type, instead of pci class device.
>
> Cc: Blue Swirl <address@hidden>
> Cc: "Michael S. Tsirkin" <address@hidden>
> Signed-off-by: Isaku Yamahata <address@hidden>
Re: 525e05147d5a3bdc08caa422d108c1ef71b584b5
this commit put hard-coded constant in pci.c.
It would have been better to post it on list for review
instead of direct commit.
> ---
> hw/pci.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/hw/pci.c b/hw/pci.c
> index e91d2e6..eb2043e 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -1273,7 +1273,7 @@ static QObject *pci_get_devices_list(PCIBus *bus, int
> bus_num);
>
> static QObject *pci_get_dev_dict(PCIDevice *dev, PCIBus *bus, int bus_num)
> {
> - int class;
> + uint8_t type;
> QObject *obj;
>
> obj = qobject_from_jsonf("{ 'bus': %d, 'slot': %d, 'function': %d,"
> "'class_info': %p, 'id': %p, 'regions': %p,"
> @@ -1289,8 +1289,8 @@ static QObject *pci_get_dev_dict(PCIDevice *dev, PCIBus
> *bus, int bus_num)
> qdict_put(qdict, "irq",
> qint_from_int(dev->config[PCI_INTERRUPT_LINE]));
> }
>
> - class = pci_get_word(dev->config + PCI_CLASS_DEVICE);
> - if (class == PCI_CLASS_BRIDGE_HOST || class == PCI_CLASS_BRIDGE_PCI) {
> + type = dev->config[PCI_HEADER_TYPE] & ~PCI_HEADER_TYPE_MULTI_FUNCTION;
> + if (type == PCI_HEADER_TYPE_BRIDGE) {
> QDict *qdict;
> QObject *pci_bridge;
>
> --
> 1.6.6.1