From owner-freebsd-wireless@freebsd.org Mon Nov 2 22:38:46 2015 Return-Path: Delivered-To: freebsd-wireless@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BDDC5A245A4 for ; Mon, 2 Nov 2015 22:38:46 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-io0-x22e.google.com (mail-io0-x22e.google.com [IPv6:2607:f8b0:4001:c06::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 848EB1AE4; Mon, 2 Nov 2015 22:38:46 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by ioll68 with SMTP id l68so1726849iol.3; Mon, 02 Nov 2015 14:38:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=6KGXjc5M8hEtEZc3rH7uSKRRGwahlJCYwOWzQqXUzXk=; b=p+pGTbcxDKB5jd1hJHOk3/4DxCdwBfVOlaKRsXVLBXHxlcfzSOmRRVKXc7D4G2LNkx gYFxH+Z/Bd0Yt9idB0emXocxCahIo0OZAqchByEhwvSa6w+oLPzjqYAXf9bwJvtvnNpU H90Ps5cn0qXd5ylUXJ30J3n832rUo+BXXs+T2lkN5qUEG2paQgX1S61eeJpcf6bWMm1/ 6Q5ABQCC98dhEPdhCk2+uiHcPfSMnP6wH+Uwmakr3/3SVIIkvoaWUcsTyWRhptcFmJh4 Nr8V1gfysA+zxDI38yQztIqCOidHUBL4ibF8qYfN3z4GEmdkTYXaFEFki2XvbmXMCIPv g2XQ== MIME-Version: 1.0 X-Received: by 10.107.3.72 with SMTP id 69mr24475882iod.75.1446503925970; Mon, 02 Nov 2015 14:38:45 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.46.66 with HTTP; Mon, 2 Nov 2015 14:38:45 -0800 (PST) In-Reply-To: References: <1446174922.809135.424262409.16BCE412@webmail.messagingengine.com> <1446474203.3014685.426732569.13D78488@webmail.messagingengine.com> Date: Mon, 2 Nov 2015 14:38:45 -0800 X-Google-Sender-Auth: BQAZOh1gqXYpuLuWhYizE_1Q1XM Message-ID: Subject: Re: bridge/wifi panic From: Adrian Chadd To: Andriy Voskoboinyk , "freebsd-wireless@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Nov 2015 22:38:46 -0000 Actually, this is more annoying than I'd thought. There's a whole bunch of places where mbufs can change during processing in ath(4) and yeah, we can't guarantee the original mbuf is available. I wonder how many other drivers are doing this - stuff like m_collapse(), m_defrag(), etc. If this is called then the original mbuf can't be returned upon error. I'm torn as to whether to back out the mbuf API change and have the driver consume it, or whether we want to go through the pain of fixing things. Let's figure this out ASAP. Thanks, -adrian On 2 November 2015 at 14:35, Adrian Chadd wrote: > Ok, yeah, I think your initial churn of ath(4) for error handling is > way incomplete, and we're going to have to fix this stuff before it > causes lots more issues in -HEAD. > > > > -a