···123123/* this is only used a cookie - it should not be dereferenced */124124static struct pci_dev *vga_default;125125126126-static void vga_arb_device_card_gone(struct pci_dev *pdev);127127-128126/* Find somebody in our list */129127static struct vga_device *vgadev_find(struct pci_dev *pdev)130128{···876878 /* Remove entry from list */877879 list_del(&vgadev->list);878880 vga_count--;879879- /* Notify userland driver that the device is gone so it discards880880- * it's copies of the pci_dev pointer881881- */882882- vga_arb_device_card_gone(pdev);883881884882 /* Wake up all possible waiters */885883 wake_up_all(&vga_wait_queue);···11251131 if (lbuf == NULL)11261132 return -ENOMEM;1127113311281128- /* Shields against vga_arb_device_card_gone (pci_dev going11291129- * away), and allows access to vga list11301130- */11341134+ /* Protects vga_list */11311135 spin_lock_irqsave(&vga_lock, flags);1132113611331137 /* If we are targeting the default, use it */···11421150 /* Wow, it's not in the list, that shouldn't happen,11431151 * let's fix us up and return invalid card11441152 */11451145- if (pdev == priv->target)11461146- vga_arb_device_card_gone(pdev);11471153 spin_unlock_irqrestore(&vga_lock, flags);11481154 len = sprintf(lbuf, "invalid");11491155 goto done;···14831493 kfree(priv);1484149414851495 return 0;14861486-}14871487-14881488-static void vga_arb_device_card_gone(struct pci_dev *pdev)14891489-{14901496}1491149714921498/*