lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1161301380.5084.38.camel@s10n.fi.upm.es>
Date:	Fri, 20 Oct 2006 01:43:00 +0200
From:	Álvaro Arranz García 
	<aarranz@...aso.ls.fi.upm.es>
To:	Linus Torvalds <torvalds@...l.org>
Cc:	Andrew Morton <akpm@...l.org>, Greg KH <gregkh@...e.de>,
	Daniel Ritz <daniel.ritz@....ch>,
	Dominik Brodowski <linux@...inikbrodowski.net>,
	linux-kernel@...r.kernel.org, linux-pci@...ey.karlin.mff.cuni.cz,
	pcihpd-discuss@...ts.sourceforge.net
Subject: Re: [GIT PATCH] PCI and PCI hotplug fixes for 2.6.19-rc2

Hi!

first of all:

git clone
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
linux-git


then i applied this patch:

diff --git a/drivers/pcmcia/yenta_socket.c
b/drivers/pcmcia/yenta_socket.c
index 26229d9..ee7a6e9 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -552,7 +552,7 @@ static int yenta_sock_suspend(struct pcm
  * max 4 MB, min 16 kB. We try very hard to not get below
  * the "ACC" values, though.
  */
-#define BRIDGE_MEM_MAX 4*1024*1024
+#define BRIDGE_MEM_MAX 64*1024*1024
 #define BRIDGE_MEM_ACC 128*1024
 #define BRIDGE_MEM_MIN 16*1024
 
@@ -578,6 +578,8 @@ static int yenta_search_one_res(struct r
                unsigned long avail = root->end - root->start;
                int i;
                size = BRIDGE_MEM_MAX;
+               printk ("yenta_search_one_res initial size=0x%08X
avail=0x%08X min=0x%08X\n",
+                       size, avail, min);
                if (size > avail/8) {
                        size=(avail+1)/8;
                        /* round size down to next power of 2 */
@@ -586,6 +588,7 @@ static int yenta_search_one_res(struct r
                                i++;
                        size = 1 << i;
                }
+               printk ("yenta_search_one_res final size=0x%08X\n",
size);
                if (size < min)
                        size = min;
                align = size;


result:

These changes don't fix the bug and the debugging messages that I have
put aren't printed. So I think this code is not the problem.

I don't know whether this could help you, but I see that the initial
range of memory is assigned to the cardbus at pci_bus_size_cardbus
(drivers/pci/setup-pci.c).

Alvaro.

El mié, 18-10-2006 a las 17:41 -0700, Linus Torvalds escribió:
> 
> On Wed, 18 Oct 2006, Andrew Morton wrote:
> > 
> > pccard: CardBus card inserted into slot 0
> > PCI: Failed to allocate mem resource #0:1000000@...00000 for 0000:07:00.2
> 
> That seems to be a 16MB memory resource. But we already totally filled up 
> the memory space we reserved for cardbus with the memory resources needed 
> for 7:0.0 and 7:0.1
> 
> That cardbus card seems to have three sub-functions, and it looks like 
> they _all_ want a 16MB memory region. We "only" allocated 32MB total for 
> it, so the third subfunction gets left out.
> 
> (There's another 32MB of memory allocated for the cardbus bridge at 
> 0x6a000000, but it's prefetchable, so we don't allow a non-prefetchable 
> resourc to use it).
> 
> I don't think this has _ever_ worked. 
> 
> Hmm. I guess the Alvaro could try increasing "BRIDGE_MEM_MAX" in 
> drivers/pcmcia/yenta_socket.c. It's currently at 4MB, but I think we gave 
> him 32MB exactly because there was a huge memory hole, so we decided to 
> extend it further a bit:
> 
>                 size = BRIDGE_MEM_MAX;
>                 if (size > avail/8) {
>                         size=(avail+1)/8;
>                         /* round size down to next power of 2 */
>                         i = 0;
>                         while ((size /= 2) != 0)
>                                 i++;
>                         size = 1 << i;
>                 }
> 
> 
> but it migth be worth testing with "BRIDGE_MEM_MAX" set to 64MB instead of 
> the current 4MB.
> 
> Alvaro?
> 
> 		Linus

View attachment "dmesg-linux-git-64MB.log" of type "text/x-log" (25774 bytes)

View attachment "iomem-64MB.log" of type "text/x-log" (2056 bytes)

View attachment "lspci-64MB.log" of type "text/x-log" (27243 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ