diff mbox series

[2/4] ata: make use of ata_port_is_frozen() helper

Message ID 20221007132342.1590367-3-niklas.cassel@wdc.com
State New
Headers show
Series libata: misc frozen port cleanups | expand

Commit Message

Niklas Cassel Oct. 7, 2022, 1:23 p.m. UTC
Clean up the code by making use of the newly introduced
ata_port_is_frozen() helper function.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
---
 drivers/ata/libahci.c      |  6 +++---
 drivers/ata/libata-acpi.c  |  4 ++--
 drivers/ata/libata-core.c  |  4 ++--
 drivers/ata/libata-eh.c    | 21 ++++++++++-----------
 drivers/ata/libata-sata.c  |  2 +-
 drivers/ata/libata-scsi.c  |  2 +-
 drivers/ata/sata_nv.c      |  2 +-
 drivers/ata/sata_promise.c |  2 +-
 drivers/ata/sata_sx4.c     |  2 +-
 9 files changed, 22 insertions(+), 23 deletions(-)

Comments

Damien Le Moal Oct. 7, 2022, 10:31 p.m. UTC | #1
On 10/7/22 22:23, Niklas Cassel wrote:
> Clean up the code by making use of the newly introduced
> ata_port_is_frozen() helper function.

Looks good, but I think this should be squashed with patch 1.

> 
> Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
> ---
>  drivers/ata/libahci.c      |  6 +++---
>  drivers/ata/libata-acpi.c  |  4 ++--
>  drivers/ata/libata-core.c  |  4 ++--
>  drivers/ata/libata-eh.c    | 21 ++++++++++-----------
>  drivers/ata/libata-sata.c  |  2 +-
>  drivers/ata/libata-scsi.c  |  2 +-
>  drivers/ata/sata_nv.c      |  2 +-
>  drivers/ata/sata_promise.c |  2 +-
>  drivers/ata/sata_sx4.c     |  2 +-
>  9 files changed, 22 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
> index 954386a2b500..399feb09d1ba 100644
> --- a/drivers/ata/libahci.c
> +++ b/drivers/ata/libahci.c
> @@ -2106,7 +2106,7 @@ void ahci_error_handler(struct ata_port *ap)
>  {
>  	struct ahci_host_priv *hpriv = ap->host->private_data;
>  
> -	if (!(ap->pflags & ATA_PFLAG_FROZEN)) {
> +	if (!ata_port_is_frozen(ap)) {
>  		/* restart engine */
>  		hpriv->stop_engine(ap);
>  		hpriv->start_engine(ap);
> @@ -2297,7 +2297,7 @@ static void ahci_pmp_attach(struct ata_port *ap)
>  	 * Note that during initialization, the port is marked as
>  	 * frozen since the irq handler is not yet registered.
>  	 */
> -	if (!(ap->pflags & ATA_PFLAG_FROZEN))
> +	if (!ata_port_is_frozen(ap))
>  		writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK);
>  }
>  
> @@ -2316,7 +2316,7 @@ static void ahci_pmp_detach(struct ata_port *ap)
>  	pp->intr_mask &= ~PORT_IRQ_BAD_PMP;
>  
>  	/* see comment above in ahci_pmp_attach() */
> -	if (!(ap->pflags & ATA_PFLAG_FROZEN))
> +	if (!ata_port_is_frozen(ap))
>  		writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK);
>  }
>  
> diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
> index 61b4ccf88bf1..d36e71f475ab 100644
> --- a/drivers/ata/libata-acpi.c
> +++ b/drivers/ata/libata-acpi.c
> @@ -992,7 +992,7 @@ int ata_acpi_on_devcfg(struct ata_device *dev)
>  
>   acpi_err:
>  	/* ignore evaluation failure if we can continue safely */
> -	if (rc == -EINVAL && !nr_executed && !(ap->pflags & ATA_PFLAG_FROZEN))
> +	if (rc == -EINVAL && !nr_executed && !ata_port_is_frozen(ap))
>  		return 0;
>  
>  	/* fail and let EH retry once more for unknown IO errors */
> @@ -1007,7 +1007,7 @@ int ata_acpi_on_devcfg(struct ata_device *dev)
>  	/* We can safely continue if no _GTF command has been executed
>  	 * and port is not frozen.
>  	 */
> -	if (!nr_executed && !(ap->pflags & ATA_PFLAG_FROZEN))
> +	if (!nr_executed && !ata_port_is_frozen(ap))
>  		return 0;
>  
>  	return rc;
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 75b86913db1a..1cf326dd7c41 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -1489,7 +1489,7 @@ static unsigned ata_exec_internal_sg(struct ata_device *dev,
>  	spin_lock_irqsave(ap->lock, flags);
>  
>  	/* no internal command while frozen */
> -	if (ap->pflags & ATA_PFLAG_FROZEN) {
> +	if (ata_port_is_frozen(ap)) {
>  		spin_unlock_irqrestore(ap->lock, flags);
>  		return AC_ERR_SYSTEM;
>  	}
> @@ -4717,7 +4717,7 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
>  			return;
>  		}
>  
> -		WARN_ON_ONCE(ap->pflags & ATA_PFLAG_FROZEN);
> +		WARN_ON_ONCE(ata_port_is_frozen(ap));
>  
>  		/* read result TF if requested */
>  		if (qc->flags & ATA_QCFLAG_RESULT_TF)
> diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
> index 1b82283f4b49..00181e747932 100644
> --- a/drivers/ata/libata-eh.c
> +++ b/drivers/ata/libata-eh.c
> @@ -1406,7 +1406,7 @@ static void ata_eh_request_sense(struct ata_queued_cmd *qc)
>  	struct ata_taskfile tf;
>  	unsigned int err_mask;
>  
> -	if (qc->ap->pflags & ATA_PFLAG_FROZEN) {
> +	if (ata_port_is_frozen(qc->ap)) {
>  		ata_dev_warn(dev, "sense data available but port frozen\n");
>  		return;
>  	}
> @@ -1588,7 +1588,7 @@ static unsigned int ata_eh_analyze_tf(struct ata_queued_cmd *qc)
>  		break;
>  
>  	case ATA_DEV_ATAPI:
> -		if (!(qc->ap->pflags & ATA_PFLAG_FROZEN)) {
> +		if (!ata_port_is_frozen(qc->ap)) {
>  			tmp = atapi_eh_request_sense(qc->dev,
>  						qc->scsicmd->sense_buffer,
>  						qc->result_tf.error >> 4);
> @@ -1995,7 +1995,7 @@ static void ata_eh_link_autopsy(struct ata_link *link)
>  		ehc->i.flags |= ATA_EHI_QUIET;
>  
>  	/* enforce default EH actions */
> -	if (ap->pflags & ATA_PFLAG_FROZEN ||
> +	if (ata_port_is_frozen(ap) ||
>  	    all_err_mask & (AC_ERR_HSM | AC_ERR_TIMEOUT))
>  		ehc->i.action |= ATA_EH_RESET;
>  	else if (((eflags & ATA_EFLAG_IS_IO) && all_err_mask) ||
> @@ -2237,7 +2237,7 @@ static void ata_eh_link_report(struct ata_link *link)
>  		return;
>  
>  	frozen = "";
> -	if (ap->pflags & ATA_PFLAG_FROZEN)
> +	if (ata_port_is_frozen(ap))
>  		frozen = " frozen";
>  
>  	if (ap->eh_tries < ATA_EH_MAX_TRIES)
> @@ -2558,8 +2558,7 @@ int ata_eh_reset(struct ata_link *link, int classify,
>  		if (reset && !(ehc->i.action & ATA_EH_RESET)) {
>  			ata_for_each_dev(dev, link, ALL)
>  				classes[dev->devno] = ATA_DEV_NONE;
> -			if ((ap->pflags & ATA_PFLAG_FROZEN) &&
> -			    ata_is_host_link(link))
> +			if (ata_port_is_frozen(ap) && ata_is_host_link(link))
>  				ata_eh_thaw_port(ap);
>  			rc = 0;
>  			goto out;
> @@ -2717,7 +2716,7 @@ int ata_eh_reset(struct ata_link *link, int classify,
>  	ap->pflags &= ~ATA_PFLAG_EH_PENDING;
>  	spin_unlock_irqrestore(link->ap->lock, flags);
>  
> -	if (ap->pflags & ATA_PFLAG_FROZEN)
> +	if (ata_port_is_frozen(ap))
>  		ata_eh_thaw_port(ap);
>  
>  	/*
> @@ -3224,7 +3223,7 @@ static int ata_eh_maybe_retry_flush(struct ata_device *dev)
>  		if (err_mask & AC_ERR_DEV) {
>  			qc->err_mask |= AC_ERR_DEV;
>  			qc->result_tf = tf;
> -			if (!(ap->pflags & ATA_PFLAG_FROZEN))
> +			if (!ata_port_is_frozen(ap))
>  				rc = 0;
>  		}
>  	}
> @@ -3401,7 +3400,7 @@ static int ata_eh_skip_recovery(struct ata_link *link)
>  		return 1;
>  
>  	/* thaw frozen port and recover failed devices */
> -	if ((ap->pflags & ATA_PFLAG_FROZEN) || ata_link_nr_enabled(link))
> +	if (ata_port_is_frozen(ap) || ata_link_nr_enabled(link))
>  		return 0;
>  
>  	/* reset at least once if reset is requested */
> @@ -3756,7 +3755,7 @@ int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
>  		if (dev)
>  			ata_eh_handle_dev_fail(dev, rc);
>  
> -		if (ap->pflags & ATA_PFLAG_FROZEN) {
> +		if (ata_port_is_frozen(ap)) {
>  			/* PMP reset requires working host port.
>  			 * Can't retry if it's frozen.
>  			 */
> @@ -3930,7 +3929,7 @@ static void ata_eh_handle_port_suspend(struct ata_port *ap)
>  	ap->pflags &= ~ATA_PFLAG_PM_PENDING;
>  	if (rc == 0)
>  		ap->pflags |= ATA_PFLAG_SUSPENDED;
> -	else if (ap->pflags & ATA_PFLAG_FROZEN)
> +	else if (ata_port_is_frozen(ap))
>  		ata_port_schedule_eh(ap);
>  
>  	spin_unlock_irqrestore(ap->lock, flags);
> diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c
> index eef57d101ed1..60009ac03a8f 100644
> --- a/drivers/ata/libata-sata.c
> +++ b/drivers/ata/libata-sata.c
> @@ -1420,7 +1420,7 @@ void ata_eh_analyze_ncq_error(struct ata_link *link)
>  	int tag, rc;
>  
>  	/* if frozen, we can't do much */
> -	if (ap->pflags & ATA_PFLAG_FROZEN)
> +	if (ata_port_is_frozen(ap))
>  		return;
>  
>  	/* is it NCQ device error? */
> diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
> index f3c64e796423..ccacaa5db936 100644
> --- a/drivers/ata/libata-scsi.c
> +++ b/drivers/ata/libata-scsi.c
> @@ -642,7 +642,7 @@ static struct ata_queued_cmd *ata_scsi_qc_new(struct ata_device *dev,
>  	struct ata_queued_cmd *qc;
>  	int tag;
>  
> -	if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
> +	if (unlikely(ata_port_is_frozen(ap)))
>  		goto fail;
>  
>  	if (ap->flags & ATA_FLAG_SAS_HOST) {
> diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
> index 7f14d0d31057..9b2d289e89e1 100644
> --- a/drivers/ata/sata_nv.c
> +++ b/drivers/ata/sata_nv.c
> @@ -2185,7 +2185,7 @@ static void nv_swncq_host_interrupt(struct ata_port *ap, u16 fis)
>  	if (!fis)
>  		return;
>  
> -	if (ap->pflags & ATA_PFLAG_FROZEN)
> +	if (ata_port_is_frozen(ap))
>  		return;
>  
>  	if (fis & NV_SWNCQ_IRQ_HOTPLUG) {
> diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
> index b8465fef2ed2..9cd7d8b71361 100644
> --- a/drivers/ata/sata_promise.c
> +++ b/drivers/ata/sata_promise.c
> @@ -817,7 +817,7 @@ static int pdc_sata_hardreset(struct ata_link *link, unsigned int *class,
>  
>  static void pdc_error_handler(struct ata_port *ap)
>  {
> -	if (!(ap->pflags & ATA_PFLAG_FROZEN))
> +	if (!ata_port_is_frozen(ap))
>  		pdc_reset_port(ap);
>  
>  	ata_sff_error_handler(ap);
> diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
> index 6ceec59cb291..ab70cbc78f96 100644
> --- a/drivers/ata/sata_sx4.c
> +++ b/drivers/ata/sata_sx4.c
> @@ -855,7 +855,7 @@ static int pdc_softreset(struct ata_link *link, unsigned int *class,
>  
>  static void pdc_error_handler(struct ata_port *ap)
>  {
> -	if (!(ap->pflags & ATA_PFLAG_FROZEN))
> +	if (!ata_port_is_frozen(ap))
>  		pdc_reset_port(ap);
>  
>  	ata_sff_error_handler(ap);
Niklas Cassel Oct. 7, 2022, 11:50 p.m. UTC | #2
On Sat, Oct 08, 2022 at 07:31:00AM +0900, Damien Le Moal wrote:
> On 10/7/22 22:23, Niklas Cassel wrote:
> > Clean up the code by making use of the newly introduced
> > ata_port_is_frozen() helper function.
> 
> Looks good, but I think this should be squashed with patch 1.

I could, but by that same logic, shouldn't patch 3/4 also be squashed into
patch 1?


Kind regards,
Niklas
Damien Le Moal Oct. 7, 2022, 11:56 p.m. UTC | #3
On 10/8/22 08:50, Niklas Cassel wrote:
> On Sat, Oct 08, 2022 at 07:31:00AM +0900, Damien Le Moal wrote:
>> On 10/7/22 22:23, Niklas Cassel wrote:
>>> Clean up the code by making use of the newly introduced
>>> ata_port_is_frozen() helper function.
>>
>> Looks good, but I think this should be squashed with patch 1.
> 
> I could, but by that same logic, shouldn't patch 3/4 also be squashed into
> patch 1?

Well, I didn't get patch 3 :)

Looking at it now, since patch 3 are changes for libsas, better keep it a
separate patch, and we can see with Martin which tree to use to queue it
(it probably should go through the ata tree).

> 
> 
> Kind regards,
> Niklas
Niklas Cassel Oct. 8, 2022, 12:09 a.m. UTC | #4
On Sat, Oct 08, 2022 at 08:56:16AM +0900, Damien Le Moal wrote:
> On 10/8/22 08:50, Niklas Cassel wrote:
> > On Sat, Oct 08, 2022 at 07:31:00AM +0900, Damien Le Moal wrote:
> >> On 10/7/22 22:23, Niklas Cassel wrote:
> >>> Clean up the code by making use of the newly introduced
> >>> ata_port_is_frozen() helper function.
> >>
> >> Looks good, but I think this should be squashed with patch 1.
> > 
> > I could, but by that same logic, shouldn't patch 3/4 also be squashed into
> > patch 1?
> 
> Well, I didn't get patch 3 :)
> 
> Looking at it now, since patch 3 are changes for libsas, better keep it a
> separate patch, and we can see with Martin which tree to use to queue it
> (it probably should go through the ata tree).

+Martin, so that he will see the message.


Kind regards,
Niklas
diff mbox series

Patch

diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index 954386a2b500..399feb09d1ba 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -2106,7 +2106,7 @@  void ahci_error_handler(struct ata_port *ap)
 {
 	struct ahci_host_priv *hpriv = ap->host->private_data;
 
-	if (!(ap->pflags & ATA_PFLAG_FROZEN)) {
+	if (!ata_port_is_frozen(ap)) {
 		/* restart engine */
 		hpriv->stop_engine(ap);
 		hpriv->start_engine(ap);
@@ -2297,7 +2297,7 @@  static void ahci_pmp_attach(struct ata_port *ap)
 	 * Note that during initialization, the port is marked as
 	 * frozen since the irq handler is not yet registered.
 	 */
-	if (!(ap->pflags & ATA_PFLAG_FROZEN))
+	if (!ata_port_is_frozen(ap))
 		writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK);
 }
 
@@ -2316,7 +2316,7 @@  static void ahci_pmp_detach(struct ata_port *ap)
 	pp->intr_mask &= ~PORT_IRQ_BAD_PMP;
 
 	/* see comment above in ahci_pmp_attach() */
-	if (!(ap->pflags & ATA_PFLAG_FROZEN))
+	if (!ata_port_is_frozen(ap))
 		writel(pp->intr_mask, port_mmio + PORT_IRQ_MASK);
 }
 
diff --git a/drivers/ata/libata-acpi.c b/drivers/ata/libata-acpi.c
index 61b4ccf88bf1..d36e71f475ab 100644
--- a/drivers/ata/libata-acpi.c
+++ b/drivers/ata/libata-acpi.c
@@ -992,7 +992,7 @@  int ata_acpi_on_devcfg(struct ata_device *dev)
 
  acpi_err:
 	/* ignore evaluation failure if we can continue safely */
-	if (rc == -EINVAL && !nr_executed && !(ap->pflags & ATA_PFLAG_FROZEN))
+	if (rc == -EINVAL && !nr_executed && !ata_port_is_frozen(ap))
 		return 0;
 
 	/* fail and let EH retry once more for unknown IO errors */
@@ -1007,7 +1007,7 @@  int ata_acpi_on_devcfg(struct ata_device *dev)
 	/* We can safely continue if no _GTF command has been executed
 	 * and port is not frozen.
 	 */
-	if (!nr_executed && !(ap->pflags & ATA_PFLAG_FROZEN))
+	if (!nr_executed && !ata_port_is_frozen(ap))
 		return 0;
 
 	return rc;
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 75b86913db1a..1cf326dd7c41 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -1489,7 +1489,7 @@  static unsigned ata_exec_internal_sg(struct ata_device *dev,
 	spin_lock_irqsave(ap->lock, flags);
 
 	/* no internal command while frozen */
-	if (ap->pflags & ATA_PFLAG_FROZEN) {
+	if (ata_port_is_frozen(ap)) {
 		spin_unlock_irqrestore(ap->lock, flags);
 		return AC_ERR_SYSTEM;
 	}
@@ -4717,7 +4717,7 @@  void ata_qc_complete(struct ata_queued_cmd *qc)
 			return;
 		}
 
-		WARN_ON_ONCE(ap->pflags & ATA_PFLAG_FROZEN);
+		WARN_ON_ONCE(ata_port_is_frozen(ap));
 
 		/* read result TF if requested */
 		if (qc->flags & ATA_QCFLAG_RESULT_TF)
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 1b82283f4b49..00181e747932 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -1406,7 +1406,7 @@  static void ata_eh_request_sense(struct ata_queued_cmd *qc)
 	struct ata_taskfile tf;
 	unsigned int err_mask;
 
-	if (qc->ap->pflags & ATA_PFLAG_FROZEN) {
+	if (ata_port_is_frozen(qc->ap)) {
 		ata_dev_warn(dev, "sense data available but port frozen\n");
 		return;
 	}
@@ -1588,7 +1588,7 @@  static unsigned int ata_eh_analyze_tf(struct ata_queued_cmd *qc)
 		break;
 
 	case ATA_DEV_ATAPI:
-		if (!(qc->ap->pflags & ATA_PFLAG_FROZEN)) {
+		if (!ata_port_is_frozen(qc->ap)) {
 			tmp = atapi_eh_request_sense(qc->dev,
 						qc->scsicmd->sense_buffer,
 						qc->result_tf.error >> 4);
@@ -1995,7 +1995,7 @@  static void ata_eh_link_autopsy(struct ata_link *link)
 		ehc->i.flags |= ATA_EHI_QUIET;
 
 	/* enforce default EH actions */
-	if (ap->pflags & ATA_PFLAG_FROZEN ||
+	if (ata_port_is_frozen(ap) ||
 	    all_err_mask & (AC_ERR_HSM | AC_ERR_TIMEOUT))
 		ehc->i.action |= ATA_EH_RESET;
 	else if (((eflags & ATA_EFLAG_IS_IO) && all_err_mask) ||
@@ -2237,7 +2237,7 @@  static void ata_eh_link_report(struct ata_link *link)
 		return;
 
 	frozen = "";
-	if (ap->pflags & ATA_PFLAG_FROZEN)
+	if (ata_port_is_frozen(ap))
 		frozen = " frozen";
 
 	if (ap->eh_tries < ATA_EH_MAX_TRIES)
@@ -2558,8 +2558,7 @@  int ata_eh_reset(struct ata_link *link, int classify,
 		if (reset && !(ehc->i.action & ATA_EH_RESET)) {
 			ata_for_each_dev(dev, link, ALL)
 				classes[dev->devno] = ATA_DEV_NONE;
-			if ((ap->pflags & ATA_PFLAG_FROZEN) &&
-			    ata_is_host_link(link))
+			if (ata_port_is_frozen(ap) && ata_is_host_link(link))
 				ata_eh_thaw_port(ap);
 			rc = 0;
 			goto out;
@@ -2717,7 +2716,7 @@  int ata_eh_reset(struct ata_link *link, int classify,
 	ap->pflags &= ~ATA_PFLAG_EH_PENDING;
 	spin_unlock_irqrestore(link->ap->lock, flags);
 
-	if (ap->pflags & ATA_PFLAG_FROZEN)
+	if (ata_port_is_frozen(ap))
 		ata_eh_thaw_port(ap);
 
 	/*
@@ -3224,7 +3223,7 @@  static int ata_eh_maybe_retry_flush(struct ata_device *dev)
 		if (err_mask & AC_ERR_DEV) {
 			qc->err_mask |= AC_ERR_DEV;
 			qc->result_tf = tf;
-			if (!(ap->pflags & ATA_PFLAG_FROZEN))
+			if (!ata_port_is_frozen(ap))
 				rc = 0;
 		}
 	}
@@ -3401,7 +3400,7 @@  static int ata_eh_skip_recovery(struct ata_link *link)
 		return 1;
 
 	/* thaw frozen port and recover failed devices */
-	if ((ap->pflags & ATA_PFLAG_FROZEN) || ata_link_nr_enabled(link))
+	if (ata_port_is_frozen(ap) || ata_link_nr_enabled(link))
 		return 0;
 
 	/* reset at least once if reset is requested */
@@ -3756,7 +3755,7 @@  int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
 		if (dev)
 			ata_eh_handle_dev_fail(dev, rc);
 
-		if (ap->pflags & ATA_PFLAG_FROZEN) {
+		if (ata_port_is_frozen(ap)) {
 			/* PMP reset requires working host port.
 			 * Can't retry if it's frozen.
 			 */
@@ -3930,7 +3929,7 @@  static void ata_eh_handle_port_suspend(struct ata_port *ap)
 	ap->pflags &= ~ATA_PFLAG_PM_PENDING;
 	if (rc == 0)
 		ap->pflags |= ATA_PFLAG_SUSPENDED;
-	else if (ap->pflags & ATA_PFLAG_FROZEN)
+	else if (ata_port_is_frozen(ap))
 		ata_port_schedule_eh(ap);
 
 	spin_unlock_irqrestore(ap->lock, flags);
diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c
index eef57d101ed1..60009ac03a8f 100644
--- a/drivers/ata/libata-sata.c
+++ b/drivers/ata/libata-sata.c
@@ -1420,7 +1420,7 @@  void ata_eh_analyze_ncq_error(struct ata_link *link)
 	int tag, rc;
 
 	/* if frozen, we can't do much */
-	if (ap->pflags & ATA_PFLAG_FROZEN)
+	if (ata_port_is_frozen(ap))
 		return;
 
 	/* is it NCQ device error? */
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index f3c64e796423..ccacaa5db936 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -642,7 +642,7 @@  static struct ata_queued_cmd *ata_scsi_qc_new(struct ata_device *dev,
 	struct ata_queued_cmd *qc;
 	int tag;
 
-	if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
+	if (unlikely(ata_port_is_frozen(ap)))
 		goto fail;
 
 	if (ap->flags & ATA_FLAG_SAS_HOST) {
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index 7f14d0d31057..9b2d289e89e1 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -2185,7 +2185,7 @@  static void nv_swncq_host_interrupt(struct ata_port *ap, u16 fis)
 	if (!fis)
 		return;
 
-	if (ap->pflags & ATA_PFLAG_FROZEN)
+	if (ata_port_is_frozen(ap))
 		return;
 
 	if (fis & NV_SWNCQ_IRQ_HOTPLUG) {
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
index b8465fef2ed2..9cd7d8b71361 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -817,7 +817,7 @@  static int pdc_sata_hardreset(struct ata_link *link, unsigned int *class,
 
 static void pdc_error_handler(struct ata_port *ap)
 {
-	if (!(ap->pflags & ATA_PFLAG_FROZEN))
+	if (!ata_port_is_frozen(ap))
 		pdc_reset_port(ap);
 
 	ata_sff_error_handler(ap);
diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
index 6ceec59cb291..ab70cbc78f96 100644
--- a/drivers/ata/sata_sx4.c
+++ b/drivers/ata/sata_sx4.c
@@ -855,7 +855,7 @@  static int pdc_softreset(struct ata_link *link, unsigned int *class,
 
 static void pdc_error_handler(struct ata_port *ap)
 {
-	if (!(ap->pflags & ATA_PFLAG_FROZEN))
+	if (!ata_port_is_frozen(ap))
 		pdc_reset_port(ap);
 
 	ata_sff_error_handler(ap);