From owner-freebsd-current@FreeBSD.ORG Thu Aug 25 05:37:19 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE1BE106564A for ; Thu, 25 Aug 2011 05:37:19 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-gy0-f182.google.com (mail-gy0-f182.google.com [209.85.160.182]) by mx1.freebsd.org (Postfix) with ESMTP id 6EB9A8FC16 for ; Thu, 25 Aug 2011 05:37:19 +0000 (UTC) Received: by gyd10 with SMTP id 10so1715321gyd.13 for ; Wed, 24 Aug 2011 22:37:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=v+idLQLoHkDomB4FsY2o08HH3287EM55RkAJV9twGCw=; b=VXKlbQ5iPP+9GK2uBWEwVWY2t3EX2c+2LXSz8NRjmqNG+F+TQMsPXk6yO4ZE8F+8YV OLi3XQkgp4A0gc2F1Wxa7QrtzdW8arRXHtFqlDXapxVn9oXe17jh9PqP7Crqj3rZF2NI LwnKasj85mswL22tg3eIvkMezwpjDu7ggHB1w= MIME-Version: 1.0 Received: by 10.150.238.17 with SMTP id l17mr395037ybh.144.1314250638711; Wed, 24 Aug 2011 22:37:18 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.150.145.21 with HTTP; Wed, 24 Aug 2011 22:37:18 -0700 (PDT) In-Reply-To: References: Date: Thu, 25 Aug 2011 13:37:18 +0800 X-Google-Sender-Auth: Rw9PcFVGFzb-pEUilAmO9EdDHyo Message-ID: From: Adrian Chadd To: Garrett Cooper Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: FreeBSD Current Subject: Re: if_ath - should it be compiled without ath_hal support? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Aug 2011 05:37:19 -0000 Hi, On 25 August 2011 12:49, Garrett Cooper wrote: > =A0 =A0I ran into the panic shown below because it appears that some > array indexing went off into the weeds. I haven't seen this happen but > once though when running a buildworld last night using r225089 on > i386. > =A0 =A0This begs the question - is it wise to compile if_ath without > ath_hal support today? I've been doing this recently because ath_hal > isn't available under /sys/modules , and unless I unload the module, > things like suspend and resume don't work because if_ath doesn't > support suspend/resume yet). There are a lot of references to the > ath_hal APIs in if_ath.c now that don't have #ifdefs guarding them as > well which concern me.. Well, the ath_hal code should be built in as part of the ath module. ath needs ath_hal to speak to the MAC/baseband/radio. There's no need for #ifdef's to guard them as .. well, they're needed. I'd like to eventually split out the ath_hal again into a separate module and re-instate the separation between HAL and driver code (primarily to enforce cleaner code and more stable APIs.) If you're seeing issues like the above, chances are that you're seeing some corruption. Can you please print out the whole value of *rs (ie, all the fields of the ath_rx_status struct) so I can see how valid it is? Adrian