@@ -390,16 +390,14 @@ void pci_bus_add_devices(const struct pci_bus *bus)
390
390
EXPORT_SYMBOL (pci_bus_add_devices );
391
391
392
392
static void __pci_walk_bus (struct pci_bus * top , int (* cb )(struct pci_dev * , void * ),
393
- void * userdata , bool locked )
393
+ void * userdata )
394
394
{
395
395
struct pci_dev * dev ;
396
396
struct pci_bus * bus ;
397
397
struct list_head * next ;
398
398
int retval ;
399
399
400
400
bus = top ;
401
- if (!locked )
402
- down_read (& pci_bus_sem );
403
401
next = top -> devices .next ;
404
402
for (;;) {
405
403
if (next == & bus -> devices ) {
@@ -422,8 +420,6 @@ static void __pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void
422
420
if (retval )
423
421
break ;
424
422
}
425
- if (!locked )
426
- up_read (& pci_bus_sem );
427
423
}
428
424
429
425
/**
@@ -441,15 +437,17 @@ static void __pci_walk_bus(struct pci_bus *top, int (*cb)(struct pci_dev *, void
441
437
*/
442
438
void pci_walk_bus (struct pci_bus * top , int (* cb )(struct pci_dev * , void * ), void * userdata )
443
439
{
444
- __pci_walk_bus (top , cb , userdata , false);
440
+ down_read (& pci_bus_sem );
441
+ __pci_walk_bus (top , cb , userdata );
442
+ up_read (& pci_bus_sem );
445
443
}
446
444
EXPORT_SYMBOL_GPL (pci_walk_bus );
447
445
448
446
void pci_walk_bus_locked (struct pci_bus * top , int (* cb )(struct pci_dev * , void * ), void * userdata )
449
447
{
450
448
lockdep_assert_held (& pci_bus_sem );
451
449
452
- __pci_walk_bus (top , cb , userdata , true );
450
+ __pci_walk_bus (top , cb , userdata );
453
451
}
454
452
EXPORT_SYMBOL_GPL (pci_walk_bus_locked );
455
453
0 commit comments