Hi Oliver, Thanks for your review and comments! >> +static DEFINE_SPINLOCK(pci_freeze_lock); > > The lock is used only here. Also be used in pci_bus_unfreeze_device(); > >> +/** >> + * pci_bus_freeze_device - freeze pci bus to access pci device >> + * @bus: the pci bus to freeze >> + * >> + * Replace pci bus ops by pci_dummy_ops, protect system from >> + * accessing pci devices. >> + */ >> +void pci_bus_freeze_device(struct pci_bus *bus) >> +{ >> + struct pci_ops *ops; >> + unsigned long flags; >> + >> + spin_lock_irqsave(&pci_freeze_lock, flags); >> + ops = pci_bus_set_ops(bus, &pci_dummy_ops); >> + bus->save_ops = ops; >> + spin_unlock_irqrestore(&pci_freeze_lock, flags); > > Against what exactly are you locking here? I want to use this spin lock to serialize freeze device and unfreeze device. Thanks! Yijing. > > > > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html