diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-11-17 17:59:48 -0800 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-19 13:39:36 -0600 |
commit | 756f173fb5fa90ec15222e80fb579288be7794fd (patch) | |
tree | 83633164ff4b8fb20c2fb383429905e25ceed1fc /include/scsi/sas_ata.h | |
parent | 735f7d2fedf57380214221be7bed7f62d729e262 (diff) | |
download | lwn-756f173fb5fa90ec15222e80fb579288be7794fd.tar.gz lwn-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/sas_ata.h')
-rw-r--r-- | include/scsi/sas_ata.h | 3 |
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, |