--- /dev/null
+diff --git a/drivers/xen/pciback/pciback_ops.c b/drivers/xen/pciback/pciback_ops.c
+index 8e6f512..3ef73cc 100644
+--- a/drivers/xen/pciback/pciback_ops.c
++++ b/drivers/xen/pciback/pciback_ops.c
+@@ -437,6 +437,28 @@ static int pciback_do_secondary_bus_reset(struct pci_dev *dev, u32 dev_type)
+ return 0;
+ }
+
++/*quick hack to run post*/
++static void hack_repost_after_flr(struct pci_dev *dev)
++{
++ if (dev->vendor != PCIBACK_VENDOR_INTEL)
++ return;
++
++ if ((dev->class >> 8) != PCIBACK_CLASS_ID_VGA)
++ return;
++
++ if (dev->bus->number != 0 || dev->devfn != PCI_DEVFN(2,0))
++ return;
++
++ pci_write_config_word(dev, PCI_COMMAND, 7);
++
++
++ {
++ char *argv[]={"/usr/sbin/vbetool","post",NULL};
++ char *env[]={NULL,NULL};
++ call_usermodehelper(argv[0],argv,env,UMH_WAIT_EXEC);
++ }
++}
++
+ /* This function is used to do a function level reset on a singe
+ * device/function. FLRs must be done on devices before they are
+ * unassigned from one domain and passed through to another. The