Re: [RFC PATCH 03/10] PCI: properly clean up ASPM link state ondevice remove

From: Alex Chiang
Date: Wed Feb 04 2009 - 20:14:14 EST


* Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>:
> On Wednesday, January 28, 2009 1:59 pm Alex Chiang wrote:
> > We only want to disable ASPM when the last function is removed from
> > the parent's device list. We determine this by checking to see if
> > the parent's device list is completely empty.
> >
> > Unfortunately, we never hit that code because the parent is considered
> > an upstream port, and never had an ASPM link_state associated with it.
> >
> > The early check for !link_state causes us to return early, we never
> > discover that our device list is empty, and thus we never remove the
> > downstream ports' link_state nodes.
> >
> > Instead of checking to see if the parent's device list is empty, we can
> > check to see if we are the last device on the list, and if so, then we
> > know that we can clean up properly.
> >
> > Cc: Shaohua Li <shaohua.li@xxxxxxxxx>
> > Signed-off-by: Alex Chiang <achiang@xxxxxx>
>
> Applied to my for-linus branch, thanks. Let me know if you have a problem
> with it (fast) Shaohua! :)

Thanks Jesse.

I'm cc'ing stable@xxxxxxxxxx as well (which I should have done in
the first place). This fixes a bug that existed since ASPM
support was added (7d715a6c1), and git name-rev tells me that
we've had it since 2.6.26.

So this patch is a candidate for 2.6.27 and 2.6.28 stable
branches.

Thanks.

/ac

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/