Advertisement
Guest User

Untitled

a guest
May 23rd, 2014
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 0.94 KB | None | 0 0
  1. --- a/drivers/gpu/vga/vgaarb.c
  2. +++ b/drivers/gpu/vga/vgaarb.c
  3. @@ -649,9 +649,17 @@ static inline void vga_update_device_decodes(struct vga_dev
  4.         old_decodes = vgadev->decodes;
  5.         decodes_removed = ~new_decodes & old_decodes;
  6.         decodes_unlocked = vgadev->locks & decodes_removed;
  7. -       vgadev->owns &= ~decodes_removed;
  8.         vgadev->decodes = new_decodes;
  9.  
  10. +       if (vgadev->owns & (VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM) &&
  11. +           !((vgadev->owns & ~decodes_removed) &
  12. +             (VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM)) &&
  13. +           vgadev->bridge_has_one_vga)
  14. +               pci_set_vga_state(vgadev->pdev, false, 0,
  15. +                                 PCI_VGA_STATE_CHANGE_BRIDGE);
  16. +
  17. +       vgadev->owns &= ~decodes_removed;
  18. +
  19.         pr_info("vgaarb: device changed decodes: PCI:%s,olddecodes=%s,decodes=%s
  20.                 pci_name(vgadev->pdev),
  21.                 vga_iostate_to_str(old_decodes),
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement