x86/PCI: MMCONFIG: Check earlier for MMCONFIG region at address zero
We can check for addr being zero earlier and thus avoid the mutex_unlock() cleanup path. [bhelgaas: drop warning printk] Signed-off-by: ethan.zhao <ethan.zhao@oracle.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Yinghai Lu <yinghai@kernel.org>
This commit is contained in:
		
					parent
					
						
							
								56039e658c
							
						
					
				
			
			
				commit
				
					
						07f9b61c39
					
				
			
		
					 1 changed files with 1 additions and 6 deletions
				
			
		|  | @ -700,7 +700,7 @@ int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end, | ||||||
| 	if (!(pci_probe & PCI_PROBE_MMCONF) || pci_mmcfg_arch_init_failed) | 	if (!(pci_probe & PCI_PROBE_MMCONF) || pci_mmcfg_arch_init_failed) | ||||||
| 		return -ENODEV; | 		return -ENODEV; | ||||||
| 
 | 
 | ||||||
| 	if (start > end) | 	if (start > end || !addr) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	mutex_lock(&pci_mmcfg_lock); | 	mutex_lock(&pci_mmcfg_lock); | ||||||
|  | @ -716,11 +716,6 @@ int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end, | ||||||
| 		return -EEXIST; | 		return -EEXIST; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (!addr) { |  | ||||||
| 		mutex_unlock(&pci_mmcfg_lock); |  | ||||||
| 		return -EINVAL; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	rc = -EBUSY; | 	rc = -EBUSY; | ||||||
| 	cfg = pci_mmconfig_alloc(seg, start, end, addr); | 	cfg = pci_mmconfig_alloc(seg, start, end, addr); | ||||||
| 	if (cfg == NULL) { | 	if (cfg == NULL) { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 ethan.zhao
				ethan.zhao