Commit 99ba9e09 authored by Brian King's avatar Brian King Committed by Jeff Garzik

[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: default avatarJeff Garzik <jgarzik@pobox.com>
Signed-off-by: default avatarBrian King <brking@us.ibm.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent ba6a1308
...@@ -2373,6 +2373,36 @@ static struct ata_device * __ata_scsi_find_dev(struct ata_port *ap, ...@@ -2373,6 +2373,36 @@ static struct ata_device * __ata_scsi_find_dev(struct ata_port *ap,
return ata_find_dev(ap, scsidev->id); 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 * ata_scsi_find_dev - lookup ata_device from scsi_cmnd
* @ap: ATA port to which the device is attached * @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) ...@@ -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); 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; 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; return dev;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment