当pass-thru device时，需要reset device function。code
内核中，reset a PCI device function的函数是__pci_reset_function_locked，如有兴趣，可以深入研究。
There are two main types of resets - conventional reset, and function-level reset. There are also two types of conventional resets, fundamental resets and non-fundamental resets.
A cold reset is a fundamental reset that takes place after power is applied to a PCIe device.
A warm reset is a fundamental reset that is triggered without disconnecting power from the device.
A hot reset is a conventional reset that is triggered across a PCI express link. A hot reset is triggered either when a link is forced into electrical idle or by sending TS1 and TS2 ordered sets with the hot reset bit set. Software can initiate a hot reset by setting and then clearing the secondary bus reset bit in the bridge control register in the PCI configuration space of the bridge port upstream of the device.
A function-level reset (FLR) is a reset that affects only a single function of a PCI express device. It must not reset the entire PCIe device. Implementing function-level resets is not required by the PCIe specification. A function-level reset is initiated by setting the initiate function-level reset bit in the function’s device control register in the PCI express capability structure in the PCI configuration space.