* 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-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html