summaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-11-18 02:59:48 +0100
committerJames Bottomley <JBottomley@Parallels.com>2012-02-19 20:39:36 +0100
commit756f173fb5fa90ec15222e80fb579288be7794fd (patch)
tree83633164ff4b8fb20c2fb383429905e25ceed1fc /include/scsi
parent[SCSI] libsas: fix domain_device leak (diff)
downloadlinux-756f173fb5fa90ec15222e80fb579288be7794fd.tar.xz
linux-756f173fb5fa90ec15222e80fb579288be7794fd.zip
[SCSI] libsas: fix leak of dev->sata_dev.identify_[packet_]device
These are never freed in the nominal path. A domain_device has a different lifetime than a sas_rphy we need a dev->rphy independent way of identifying sata devices. Reviewed-by: Jack Wang <jack_wang@usish.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/sas_ata.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/scsi/sas_ata.h b/include/scsi/sas_ata.h
index 9c159f74c6d0..7d5013f8653d 100644
--- a/include/scsi/sas_ata.h
+++ b/include/scsi/sas_ata.h
@@ -32,7 +32,8 @@
static inline int dev_is_sata(struct domain_device *dev)
{
- return (dev->rphy->identify.target_port_protocols & SAS_PROTOCOL_SATA);
+ return dev->dev_type == SATA_DEV || dev->dev_type == SATA_PM ||
+ dev->dev_type == SATA_PM_PORT;
}
int sas_ata_init_host_and_port(struct domain_device *found_dev,