• Dexuan Cui's avatar
    PCI: hv: Fix hv_pci_remove() for hot-remove · 17978524
    Dexuan Cui authored
    1. We don't really need such a big on-stack buffer when sending the
    teardown_packet: vmbus_sendpacket() here only uses sizeof(struct
    pci_message).
    
    2. In the hot-remove case (PCI_EJECT), after we send PCI_EJECTION_COMPLETE
    to the host, the host will send a RESCIND_CHANNEL message to us and the
    host won't access the per-channel ringbuffer any longer, so we needn't send
    PCI_RESOURCES_RELEASED/PCI_BUS_D0EXIT to the host, and we shouldn't expect
    the host's completion message of PCI_BUS_D0EXIT, which will never come.
    
    3. We should send PCI_BUS_D0EXIT after hv_send_resources_released().
    Signed-off-by: default avatarDexuan Cui <decui@microsoft.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarJake Oshins <jakeo@microsoft.com>
    Acked-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
    CC: Haiyang Zhang <haiyangz@microsoft.com>
    CC: Vitaly Kuznetsov <vkuznets@redhat.com>
    17978524
pci-hyperv.c 65.3 KB