mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	scsi: aacraid: check adapter health
Currently driver waits for the command IOCTL from the firmware and if the firmware enters nonresponsive state, the driver doesn't respond till the firmware is responsive again. Check that firmware is alive, otherwise return -EBUSY. [mkp: clarified commit desc] Link: https://lore.kernel.org/r/1571120524-6037-6-git-send-email-balsundar.p@microsemi.com Signed-off-by: Balsundar P <balsundar.p@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
		
							parent
							
								
									e2fd90dd2e
								
							
						
					
					
						commit
						572ee53a9b
					
				
					 1 changed files with 4 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -612,9 +612,13 @@ static struct device_attribute *aac_dev_attrs[] = {
 | 
			
		|||
static int aac_ioctl(struct scsi_device *sdev, unsigned int cmd,
 | 
			
		||||
		     void __user *arg)
 | 
			
		||||
{
 | 
			
		||||
	int retval;
 | 
			
		||||
	struct aac_dev *dev = (struct aac_dev *)sdev->host->hostdata;
 | 
			
		||||
	if (!capable(CAP_SYS_RAWIO))
 | 
			
		||||
		return -EPERM;
 | 
			
		||||
	retval = aac_adapter_check_health(dev);
 | 
			
		||||
	if (retval)
 | 
			
		||||
		return -EBUSY;
 | 
			
		||||
	return aac_do_ioctl(dev, cmd, arg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue