Patch "libata: Add helper to determine when PHY events should be ignored" has been added to the 4.0-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
libata: Add helper to determine when PHY events should be ignored
to the 4.0-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
libata-add-helper-to-determine-when-phy-events-should-be-ignored.patch
and it can be found in the queue-4.0 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
8393b811f38acdf7fd8da2028708edad3e68ce1fMon Sep 17 00:00:00 2001
From: Gabriele Mazzotta <[email protected]>
Date: Sat, 25 Apr 2015 19:52:36 +0200
Subject: libata: Add helper to determine when PHY events should be ignored
From: Gabriele Mazzotta <[email protected]>
commit 8393b811f38acdf7fd8da2028708edad3e68ce1f upstream.
This is a preparation commit that will allow to add other criteria according to which PHY events should be dropped.
--- drivers/ata/libahci.c | 3 +-- drivers/ata/libata-core.c | 19 +++++++++++++++++++ include/linux/libata.h | 1 + 3 files changed, 21 insertions(+), 2 deletions(-)
drivers/ata/libahci.c +1 -2
@@ -1707,8 +1707,7 @@ static void ahci_handle_port_interrupt(sif (unlikely (resetting)) status &= ~PORT_IRQ_BAD_PMP ; -/* if LPM is enabled, PHYRDY doesn't mean anything */ -if (ap->link.lpm_policy >ATA_LPM_MAX_POWER ) { +if (sata_lpm_ignore_phy_events (&ap->link)) { status &= ~PORT_IRQ_PHYRDY ;ahci_scr_write (&ap->link,SCR_ERROR ,SERR_PHYRDY_CHG ); }
drivers/ata/libata-core.c +19 -0
@@ -6728,6 +6728,25 @@ u32 ata_wait_register(struct ata_port *areturn tmp; } +/** +* sata_lpm_ignore_phy_events - test if PHY event should be ignored +* @link: Link receiving the event +* +* Test whether the received PHY event has to be ignored or not. +* +* LOCKING: +* None: +* +* RETURNS: +* True if the event has to be ignored. +*/ +bool sata_lpm_ignore_phy_events (struct ata_link *link) +{ +/* if LPM is enabled, PHYRDY doesn't mean anything */ +return !!(link->lpm_policy >ATA_LPM_MAX_POWER ); +} +EXPORT_SYMBOL_GPL (sata_lpm_ignore_phy_events); +/* * Dummy port_ops */
include/linux/libata.h +1 -0
@@ -1202,6 +1202,7 @@ extern struct ata_device *ata_dev_pair(sextern int ata_do_set_mode (struct ata_link *link,struct ata_device **r_failed_dev);extern void ata_scsi_port_error_handler (struct Scsi_Host *host,struct ata_port *ap);extern void ata_scsi_cmd_error_handler (struct Scsi_Host *host,struct ata_port *ap,struct list_head *eh_q); +extern bool sata_lpm_ignore_phy_events (struct ata_link *link);extern int ata_cable_40wire (struct ata_port *ap);extern int ata_cable_80wire (struct ata_port *ap);
Patches currently in stable-queue which might be from [email protected] are
queue-4.0/libata-add-helper-to-determine-when-phy-events-should-be-ignored.patch queue-4.0/libata-ignore-spurious-phy-event-on-lpm-policy-change.patch