[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091105071431.GA14055@elte.hu>
Date: Thu, 5 Nov 2009 08:14:31 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: "Luis R. Rodriguez" <mcgrof@...il.com>,
linux-kernel@...r.kernel.org,
linux-wireless <linux-wireless@...r.kernel.org>,
Yannick Roehlly <yannick.roehlly@...e.fr>,
Yinghai Lu <yinghai@...nel.org>,
Jesse Barnes <jesse.barnes@...el.com>,
Ivan Kokshaysky <ink@...assic.park.msu.ru>,
Andrew Morton <akpm@...ux-foundation.org>,
"John W. Linville" <linville@...driver.com>, berndl81@....at,
Greg KH <greg@...ah.com>
Subject: Re: Reverting 5d423 fixes loading of ath9k on Acer Extensa 7630EZ
* Linus Torvalds <torvalds@...ux-foundation.org> wrote:
> On Wed, 4 Nov 2009, Luis R. Rodriguez wrote:
> >
> > Can you please consider reviewing this issue and help determine if
> > this indeed needs to be reverted for 2.6.32 and the next 2.6.31.y.
> >
> > I am curious if other devices would work by reverting this as well.
> > [ ... ] For details please feel free to check:
> >
> > http://bugzilla.kernel.org/show_bug.cgi?id=14402
>
> That same commit was the cause for
>
> http://bugzilla.kernel.org/show_bug.cgi?id=13940
>
> and we just increased the rounding to make it go away (see commit
> 15b812f1). But that was a hack.
>
> And if that didn't help the ath9k case, then we should just revert
> entirely.
Agreed - below is the combo 15b812f1 + 5d423ccd revert. (Would be nice
to get the boot log of the latest post-15b812f1 kernel that Yinghai
asked for before we revert, in the hope of better understanding the
problem.)
Thanks,
Ingo
Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index d17d482..b322e30 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -617,7 +617,7 @@ __init int e820_search_gap(unsigned long *gapstart, unsigned long *gapsize,
*/
__init void e820_setup_gap(void)
{
- unsigned long gapstart, gapsize;
+ unsigned long gapstart, gapsize, round;
int found;
gapstart = 0x10000000;
@@ -634,9 +634,14 @@ __init void e820_setup_gap(void)
#endif
/*
- * e820_reserve_resources_late protect stolen RAM already
+ * See how much we want to round up: start off with
+ * rounding to the next 1MB area.
*/
- pci_mem_start = gapstart;
+ round = 0x100000;
+ while ((gapsize >> 4) > round)
+ round += round;
+ /* Fun with two's complement */
+ pci_mem_start = (gapstart + round) & -round;
printk(KERN_INFO
"Allocating PCI resources starting at %lx (gap: %lx:%lx)\n",
@@ -1378,8 +1383,8 @@ static unsigned long ram_alignment(resource_size_t pos)
if (mb < 16)
return 1024*1024;
- /* To 64MB for anything above that */
- return 64*1024*1024;
+ /* To 32MB for anything above that */
+ return 32*1024*1024;
}
#define MAX_RESOURCE_SIZE ((resource_size_t)-1)
--
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