unsigned int scan_bus(device_t bus, unsigned int max) { unsigned int new_max; int do_scan_bus; if ( !bus || !bus->enabled || !bus->ops || !bus->ops->scan_bus) { return max; } do_scan_bus = 1; while(do_scan_bus) { int link; new_max = bus->ops->scan_bus(bus, max); do_scan_bus = 0; for(link = 0; link < bus->links; link++) { if (bus->link[link].reset_needed) { if (reset_bus(&bus->link[link])) { do_scan_bus = 1; } else { bus->bus->reset_needed = 1; } } } } return new_max; }
suggest change bus to dev, otherwise is some confusing.
YH