mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
[PATCH] libata: Add ata_scsi_dev_disabled
Separate out parts of ata_scsi_find_dev to be reused in future SAS/SATA patches. Acked-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
ba6a13083c
commit
99ba9e093d
1 changed files with 31 additions and 10 deletions
|
@ -2373,6 +2373,36 @@ static struct ata_device * __ata_scsi_find_dev(struct ata_port *ap,
|
|||
return ata_find_dev(ap, scsidev->id);
|
||||
}
|
||||
|
||||
/**
|
||||
* ata_scsi_dev_enabled - determine if device is enabled
|
||||
* @dev: ATA device
|
||||
*
|
||||
* Determine if commands should be sent to the specified device.
|
||||
*
|
||||
* LOCKING:
|
||||
* spin_lock_irqsave(host_set lock)
|
||||
*
|
||||
* RETURNS:
|
||||
* 0 if commands are not allowed / 1 if commands are allowed
|
||||
*/
|
||||
|
||||
static int ata_scsi_dev_enabled(struct ata_device *dev)
|
||||
{
|
||||
if (unlikely(!ata_dev_enabled(dev)))
|
||||
return 0;
|
||||
|
||||
if (!atapi_enabled || (dev->ap->flags & ATA_FLAG_NO_ATAPI)) {
|
||||
if (unlikely(dev->class == ATA_DEV_ATAPI)) {
|
||||
ata_dev_printk(dev, KERN_WARNING,
|
||||
"WARNING: ATAPI is %s, device ignored.\n",
|
||||
atapi_enabled ? "not supported with this driver" : "disabled");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* ata_scsi_find_dev - lookup ata_device from scsi_cmnd
|
||||
* @ap: ATA port to which the device is attached
|
||||
|
@ -2394,18 +2424,9 @@ ata_scsi_find_dev(struct ata_port *ap, const struct scsi_device *scsidev)
|
|||
{
|
||||
struct ata_device *dev = __ata_scsi_find_dev(ap, scsidev);
|
||||
|
||||
if (unlikely(!dev || !ata_dev_enabled(dev)))
|
||||
if (unlikely(!dev || !ata_scsi_dev_enabled(dev)))
|
||||
return NULL;
|
||||
|
||||
if (!atapi_enabled || (ap->flags & ATA_FLAG_NO_ATAPI)) {
|
||||
if (unlikely(dev->class == ATA_DEV_ATAPI)) {
|
||||
ata_dev_printk(dev, KERN_WARNING,
|
||||
"WARNING: ATAPI is %s, device ignored.\n",
|
||||
atapi_enabled ? "not supported with this driver" : "disabled");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue