Search Linux Wireless

Re: Reverting 5d423 fixes loading of ath9k on Acer Extensa 7630EZ

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux