[PATCH 4/6] libata: Add ata_host_flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Since SATA devices attached to SAS HBAs will not have
a host_set, add a helper function to retrieve the host_set
flags which can check for the existence of a host_set.

Signed-off-by: Brian King <brking@xxxxxxxxxx>
---

 libata-dev-bjking1/drivers/scsi/libata-core.c |    7 +++----
 libata-dev-bjking1/include/linux/libata.h     |    7 +++++++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff -puN drivers/scsi/libata-core.c~libata_sas_no_simplex drivers/scsi/libata-core.c
--- libata-dev/drivers/scsi/libata-core.c~libata_sas_no_simplex	2006-06-06 08:55:43.000000000 -0500
+++ libata-dev-bjking1/drivers/scsi/libata-core.c	2006-06-06 08:55:43.000000000 -0500
@@ -2161,7 +2161,7 @@ int ata_set_mode(struct ata_port *ap, st
 	/* Record simplex status. If we selected DMA then the other
 	 * host channels are not permitted to do so.
 	 */
-	if (used_dma && (ap->host_set->flags & ATA_HOST_SIMPLEX))
+	if (used_dma && (ata_host_flags(ap) & ATA_HOST_SIMPLEX))
 		ap->host_set->simplex_claimed = 1;
 
 	/* step5: chip specific finalisation */
@@ -3012,7 +3012,6 @@ static int ata_dma_blacklisted(const str
 static void ata_dev_xfermask(struct ata_device *dev)
 {
 	struct ata_port *ap = dev->ap;
-	struct ata_host_set *hs = ap->host_set;
 	unsigned long xfer_mask;
 	int i;
 
@@ -3050,8 +3049,8 @@ static void ata_dev_xfermask(struct ata_
 		ata_dev_printk(dev, KERN_WARNING,
 			       "device is on DMA blacklist, disabling DMA\n");
 
-	if (hs->flags & ATA_HOST_SIMPLEX) {
-		if (hs->simplex_claimed)
+	if (ata_host_flags(ap) & ATA_HOST_SIMPLEX) {
+		if (ap->host_set->simplex_claimed)
 			xfer_mask &= ~(ATA_MASK_MWDMA | ATA_MASK_UDMA);
 	}
 
diff -puN include/linux/libata.h~libata_sas_no_simplex include/linux/libata.h
--- libata-dev/include/linux/libata.h~libata_sas_no_simplex	2006-06-06 08:55:43.000000000 -0500
+++ libata-dev-bjking1/include/linux/libata.h	2006-06-06 08:55:43.000000000 -0500
@@ -1103,4 +1103,11 @@ static inline struct ata_port *ata_shost
 	return (struct ata_port *) &host->hostdata[0];
 }
 
+static inline unsigned int ata_host_flags(struct ata_port *ap)
+{
+	if (ap->host_set)
+		return ap->host_set->flags;
+	return 0;
+}
+
 #endif /* __LINUX_LIBATA_H__ */
_
-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux