From owner-freebsd-stable@FreeBSD.ORG Sat Mar 19 21:02:52 2005 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 48A0E16A4CE for ; Sat, 19 Mar 2005 21:02:52 +0000 (GMT) Received: from salmon.maths.tcd.ie (salmon.maths.tcd.ie [134.226.81.11]) by mx1.FreeBSD.org (Postfix) with SMTP id 5367A43D46 for ; Sat, 19 Mar 2005 21:02:51 +0000 (GMT) (envelope-from iedowse@maths.tcd.ie) Received: from walton.maths.tcd.ie by salmon.maths.tcd.ie with SMTP id ; 19 Mar 2005 21:02:50 +0000 (GMT) To: Sam Leffler In-Reply-To: Your message of "Thu, 17 Mar 2005 08:47:15 PST." <4239B493.40608@errno.com> Date: Sat, 19 Mar 2005 21:02:49 +0000 From: Ian Dowse Message-ID: <200503192102.ab88222@salmon.maths.tcd.ie> cc: B cc: freebsd-stable@freebsd.org Subject: Re: ath0: failed to allocate descriptors: 12 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Mar 2005 21:02:52 -0000 In message <4239B493.40608@errno.com>, Sam Leffler writes: >Memmory is too fragmented to allocate the descriptors in one chunk. I >changed this logic in current to allocate separate blocks for the >tx+rx+beacon descriptors; I'll look at backporting that (though it's too >risky to get into 5.4). I've always got it to work with the patch below - I seem to remember calculating that 32k rather than 256k was all that was needed for the old descriptor arrangement, but you probably know the real reason for the larger allocation. Ian Index: if_ath_pci.c =================================================================== RCS file: /dump/FreeBSD-CVS/src/sys/dev/ath/if_ath_pci.c,v retrieving revision 1.8.2.2 diff -u -r1.8.2.2 if_ath_pci.c --- if_ath_pci.c 7 Feb 2005 18:01:28 -0000 1.8.2.2 +++ if_ath_pci.c 19 Mar 2005 20:57:54 -0000 @@ -197,7 +197,7 @@ BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ NULL, NULL, /* filter, filterarg */ - 0x3ffff, /* maxsize XXX */ + 0x7fff, /* maxsize XXX */ ATH_MAX_SCATTER, /* nsegments */ 0xffff, /* maxsegsize XXX */ BUS_DMA_ALLOCNOW, /* flags */