Could you please build a test kernel which is: 1) based on https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1667531 2) AND, with including the missing patches of this bug.
Thanks, Simon -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1670518 Title: [Hyper-V] Missing PCI patches breaking SR-IOV hot remove Status in linux package in Ubuntu: Fix Released Status in linux source package in Xenial: In Progress Status in linux source package in Yakkety: In Progress Status in linux source package in Zesty: Fix Released Bug description: Looks like the rebase work missed some prerequisite patches in drivers/pci/host/pci-hyperv.c (Needed for SR-IOV in Azure on lts-xenial, HWE, and custom) commit 0de8ce3ee8e38cc66683438f715c79a2cc69539e Author: Long Li <lon...@microsoft.com> Date: Tue Nov 8 14:04:38 2016 -0800 PCI: hv: Allocate physically contiguous hypercall params buffer hv_do_hypercall() assumes that we pass a segment from a physically contiguous buffer. A buffer allocated on the stack may not work if CONFIG_VMAP_STACK=y is set. Use kmalloc() to allocate this buffer. commit 542ccf4551fa019a8ae9dfb7c8cd7e73a3d7e614 Author: Tobias Klauser <tklau...@distanz.ch> Date: Mon Oct 31 12:04:09 2016 +0100 PCI: hv: Make unnecessarily global IRQ masking functions static Make hv_irq_mask() and hv_irq_unmask() static as they are only used in pci-hyperv.c This fixes a sparse warning. commit e74d2ebdda33b3bdd1826b5b92e9aa45bdf92bb3 Author: Dexuan Cui <de...@microsoft.com> Date: Thu Nov 10 07:19:52 2016 +0000 PCI: hv: Delete the device earlier from hbus->children for hot- remove After we send a PCI_EJECTION_COMPLETE message to the host, the host will immediately send us a PCI_BUS_RELATIONS message with relations->device_count == 0, so pci_devices_present_work(), running on another thread, can find the being-ejected device, mark the hpdev->reported_missing to true, and run list_move_tail()/list_del() for the device -- this races hv_eject_device_work() -> list_del(). Move the list_del() in hv_eject_device_work() to an earlier place, i.e., before we send PCI_EJECTION_COMPLETE, so later the pci_devices_present_work() can't see the device. commit 17978524a636d007e6b929304ae3eb5ea0371019 Author: Dexuan Cui <de...@microsoft.com> Date: Thu Nov 10 07:18:47 2016 +0000 PCI: hv: Fix hv_pci_remove() for hot-remove 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: Dexuan Cui <de...@microsoft.com> Signed-off-by: Bjorn Helgaas <bhelg...@google.com> Reviewed-by: Jake Oshins <ja...@microsoft.com> Acked-by: K. Y. Srinivasan <k...@microsoft.com> CC: Haiyang Zhang <haiya...@microsoft.com> CC: Vitaly Kuznetsov <vkuzn...@redhat.com> To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670518/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp