agp: intel-agp: do not use PCI resources before pci_enable_device()
IRQ and resource[] may not have correct values until after PCI hotplug setup occurs at pci_enable_device() time. The semantic match that finds this problem is as follows: // <smpl> @@ identifier x; identifier request ~= "pci_request.*|pci_resource.*"; @@ ( * x->irq | * x->resource | * request(x, ...) ) ... *pci_enable_device(x) // </smpl> Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
		
					parent
					
						
							
								46cfc58a77
							
						
					
				
			
			
				commit
				
					
						96576a9e1a
					
				
			
		
					 1 changed files with 11 additions and 11 deletions
				
			
		|  | @ -907,6 +907,17 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev, | |||
| 
 | ||||
| 	dev_info(&pdev->dev, "Intel %s Chipset\n", intel_agp_chipsets[i].name); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	* If the device has not been properly setup, the following will catch | ||||
| 	* the problem and should stop the system from crashing. | ||||
| 	* 20030610 - hamish@zot.org | ||||
| 	*/ | ||||
| 	if (pci_enable_device(pdev)) { | ||||
| 		dev_err(&pdev->dev, "can't enable PCI device\n"); | ||||
| 		agp_put_bridge(bridge); | ||||
| 		return -ENODEV; | ||||
| 	} | ||||
| 
 | ||||
| 	/*
 | ||||
| 	* The following fixes the case where the BIOS has "forgotten" to | ||||
| 	* provide an address range for the GART. | ||||
|  | @ -921,17 +932,6 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev, | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	/*
 | ||||
| 	* If the device has not been properly setup, the following will catch | ||||
| 	* the problem and should stop the system from crashing. | ||||
| 	* 20030610 - hamish@zot.org | ||||
| 	*/ | ||||
| 	if (pci_enable_device(pdev)) { | ||||
| 		dev_err(&pdev->dev, "can't enable PCI device\n"); | ||||
| 		agp_put_bridge(bridge); | ||||
| 		return -ENODEV; | ||||
| 	} | ||||
| 
 | ||||
| 	/* Fill in the mode register */ | ||||
| 	if (cap_ptr) { | ||||
| 		pci_read_config_dword(pdev, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Kulikov Vasiliy
				Kulikov Vasiliy