qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH v2 0/6] qdev reset refactoring and pci bus reset


From: Isaku Yamahata
Subject: [Qemu-devel] Re: [PATCH v2 0/6] qdev reset refactoring and pci bus reset
Date: Wed, 24 Nov 2010 20:09:27 +0900
User-agent: Mutt/1.5.19 (2009-01-05)

On Wed, Nov 24, 2010 at 12:59:43PM +0200, Michael S. Tsirkin wrote:
> > > @@ -1552,20 +1562,21 @@ PCIBus *pci_find_bus(PCIBus *bus, int bus_num)
> > >          return bus;
> > >      }
> > >  
> > > +    /* Consider all bus numbers in range for the host pci bridge. */
> > > +    if (bus->parent_dev &&
> > > +        !pci_secondary_bus_in_range(bus->parent_dev, bus_num)) {
> > > +        return NULL;
> > > +    }
> > > +
> > >      /* try child bus */
> > > -    if (!bus->parent_dev /* host pci bridge */ ||
> > > -        (bus->parent_dev->config[PCI_SECONDARY_BUS] < bus_num &&
> > > -         bus_num <= bus->parent_dev->config[PCI_SUBORDINATE_BUS])) {
> > > -        for (; bus; bus = sec) {
> > > -            QLIST_FOREACH(sec, &bus->child, sibling) {
> > > -                assert(sec->parent_dev);
> > > -                if (sec->parent_dev->config[PCI_SECONDARY_BUS] == 
> > > bus_num) {
> > > -                    return sec;
> > > -                }
> > > -                if (sec->parent_dev->config[PCI_SECONDARY_BUS] < bus_num 
> > > &&
> > > -                    bus_num <= 
> > > sec->parent_dev->config[PCI_SUBORDINATE_BUS]) {
> > > -                    break;
> > > -                }
> > > +    for (; bus; bus = sec) {
> > > +        QLIST_FOREACH(sec, &bus->child, sibling) {
> > > +            assert(sec->parent_dev);
> > > +            if (sec->parent_dev->config[PCI_SECONDARY_BUS] == bus_num) {
> > > +                return sec;
> > > +            }
> > > +            if (pci_secondary_bus_in_range(sec->parent_dev, bus_num)) {
> > 
> > This condition should be "if (!pci_...)"
> 
> Why? We are looking for a device on the given bus that claims the given
> bus_num.  If we find one, break out of the inner loop and walk down to
> the child.

You're right. Sorry for noise.
-- 
yamahata



reply via email to

[Prev in Thread] Current Thread [Next in Thread]