[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200812021649.27148.rjw@sisk.pl>
Date: Tue, 2 Dec 2008 16:49:26 +0100
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Greg KH <greg@...ah.com>, Ingo Molnar <mingo@...e.hu>,
Jesse Barnes <jbarnes@...tuousgeek.org>,
Len Brown <lenb@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Takashi Iwai <tiwai@...e.de>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: Regression from 2.6.26: Hibernation (possibly suspend) broken on Toshiba R500 (bisected)
On Tuesday, 2 of December 2008, Linus Torvalds wrote:
>
> On Tue, 2 Dec 2008, Rafael J. Wysocki wrote:
> > r_size = resource_size(r);
> > /* For bridges size != alignment */
> > - align = resource_alignment(r);
> > + align = (i < PCI_BRIDGE_RESOURCES) ? r_size : r->start;
>
> Hmm. This means that something set the alignment flags incorrectly. The
> resource _should_ have IORESOURCE_SIZEALIGN set for a resource with size
> alignment, and IORESOURCE_STARTALIGN for one that has start alignment.
>
> Your patch doesn't fix anything, it just hides the bug.
Well, it's just a partial revert of commit
5f17cfce5776c566d64430f543a289e5cfa4538b ("PCI: fix pbus_size_mem() resource
alignment for CardBus controllers").
> It would be good to hear what resource this is, and where it got set. So
> instead of that broken patch that just hides the problem, please try to
> debug it with something like
>
> resource_size_t expected_align;
>
> expected_align = (i < PCI_BRIDGE_RESOURCES) ? r_size : r->start;
> align = resource_alignment(r);
> if (align != expected_align) {
> dev_warn(&dev->dev,
> "BAR %d %llx-%llx wrong alignment flags %lx %llx (%llx)\n",
> i,
> (unsigned long long) r->start,
> (unsigned long long) r->end,
> r->flags,
> (unsigned long long) align,
> (unsigned long long) expected_align);
> /* Hacky and wrong, but trying to keep things
> align = expected_align;
> }
>
> or something like that. And then we just need to figure out which setup
> routine sets the wrong alignment flag,.
Yeah, I'll give it a try later today, when I get back from the Uni.
Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists