linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH #upstream-fixes] libata: fix hotplug for drivers which don't implement LPM
@ 2011-02-24 18:30 Tejun Heo
  2011-03-02  7:45 ` Jeff Garzik
  0 siblings, 1 reply; 3+ messages in thread
From: Tejun Heo @ 2011-02-24 18:30 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

ata_eh_analyze_serror() suppresses hotplug notifications if LPM is
being used because LPM generates spurious hotplug events.  It compared
whether link->lpm_policy was different from ATA_LPM_MAX_POWER to
determine whether LPM is enabled; however, this is incorrect as for
drivers which don't implement LPM, lpm_policy is always
ATA_LPM_UNKNOWN.  This disabled hotplug detection for all drivers
which don't implement LPM.

Fix it by comparing whether lpm_policy is greater than
ATA_LPM_MAX_POWER.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@kernel.org
---
 drivers/ata/libata-eh.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 17a6378..e16850e 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -1618,7 +1618,7 @@ static void ata_eh_analyze_serror(struct ata_link *link)
 	 * host links.  For disabled PMP links, only N bit is
 	 * considered as X bit is left at 1 for link plugging.
 	 */
-	if (link->lpm_policy != ATA_LPM_MAX_POWER)
+	if (link->lpm_policy > ATA_LPM_MAX_POWER)
 		hotplug_mask = 0;	/* hotplug doesn't work w/ LPM */
 	else if (!(link->flags & ATA_LFLAG_DISABLED) || ata_is_host_link(link))
 		hotplug_mask = SERR_PHYRDY_CHG | SERR_DEV_XCHG;

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH #upstream-fixes] libata: fix hotplug for drivers which don't implement LPM
  2011-02-24 18:30 [PATCH #upstream-fixes] libata: fix hotplug for drivers which don't implement LPM Tejun Heo
@ 2011-03-02  7:45 ` Jeff Garzik
  2011-03-02  7:47   ` Tejun Heo
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Garzik @ 2011-03-02  7:45 UTC (permalink / raw)
  To: Tejun Heo; +Cc: linux-ide, LKML, stable

On 02/24/2011 01:30 PM, Tejun Heo wrote:
> ata_eh_analyze_serror() suppresses hotplug notifications if LPM is
> being used because LPM generates spurious hotplug events.  It compared
> whether link->lpm_policy was different from ATA_LPM_MAX_POWER to
> determine whether LPM is enabled; however, this is incorrect as for
> drivers which don't implement LPM, lpm_policy is always
> ATA_LPM_UNKNOWN.  This disabled hotplug detection for all drivers
> which don't implement LPM.
>
> Fix it by comparing whether lpm_policy is greater than
> ATA_LPM_MAX_POWER.
>
> Signed-off-by: Tejun Heo<tj@kernel.org>
> Cc: stable@kernel.org

applied, though putting this into 2.6.38.1 is preferred to changing this 
at -rc7...  stable@ cc'd.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH #upstream-fixes] libata: fix hotplug for drivers which don't implement LPM
  2011-03-02  7:45 ` Jeff Garzik
@ 2011-03-02  7:47   ` Tejun Heo
  0 siblings, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2011-03-02  7:47 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide, LKML, stable

On Wed, Mar 02, 2011 at 02:45:17AM -0500, Jeff Garzik wrote:
> On 02/24/2011 01:30 PM, Tejun Heo wrote:
> >ata_eh_analyze_serror() suppresses hotplug notifications if LPM is
> >being used because LPM generates spurious hotplug events.  It compared
> >whether link->lpm_policy was different from ATA_LPM_MAX_POWER to
> >determine whether LPM is enabled; however, this is incorrect as for
> >drivers which don't implement LPM, lpm_policy is always
> >ATA_LPM_UNKNOWN.  This disabled hotplug detection for all drivers
> >which don't implement LPM.
> >
> >Fix it by comparing whether lpm_policy is greater than
> >ATA_LPM_MAX_POWER.
> >
> >Signed-off-by: Tejun Heo<tj@kernel.org>
> >Cc: stable@kernel.org
> 
> applied, though putting this into 2.6.38.1 is preferred to changing
> this at -rc7...  stable@ cc'd.

Understood.  As long as it ends up in stable@, either way is okay with
me.  Thank you.

-- 
tejun

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-03-02  7:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-24 18:30 [PATCH #upstream-fixes] libata: fix hotplug for drivers which don't implement LPM Tejun Heo
2011-03-02  7:45 ` Jeff Garzik
2011-03-02  7:47   ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).