From owner-freebsd-wireless@FreeBSD.ORG Thu Aug 18 02:31:51 2011 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6364106564A for ; Thu, 18 Aug 2011 02:31:51 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-gw0-f54.google.com (mail-gw0-f54.google.com [74.125.83.54]) by mx1.freebsd.org (Postfix) with ESMTP id 8585C8FC0C for ; Thu, 18 Aug 2011 02:31:51 +0000 (UTC) Received: by gwb15 with SMTP id 15so743437gwb.13 for ; Wed, 17 Aug 2011 19:31:50 -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; bh=IGLoaNlbI/l++wWoJBJrV5paqyLoqH5TwCH8anc2z7o=; b=P6iCQmHeyuS0lIcVwap9bF8+J/6lY3UB0CgWewoa5O9oPa0kLyQtSNJD41pROdFbmk qYOzOOe4EnPFRb/RXnwgBjLxAcxLgCzDS5IeET/R2nI6PjvfsmDDPaaJDtlWgpo9mpt3 2U9PQFJx/qedwn8PudrE2hkhbt1kgYTA8ecYo= MIME-Version: 1.0 Received: by 10.150.72.23 with SMTP id u23mr162828yba.443.1313634710780; Wed, 17 Aug 2011 19:31:50 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.150.145.21 with HTTP; Wed, 17 Aug 2011 19:31:50 -0700 (PDT) In-Reply-To: References: Date: Thu, 18 Aug 2011 10:31:50 +0800 X-Google-Sender-Auth: dlOe2yZQMKa3zxYVHfOZyWTkX1o Message-ID: From: Adrian Chadd To: PseudoCylon Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-wireless@freebsd.org Subject: Re: ieee80211_process_callback() use in drivers X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 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: Thu, 18 Aug 2011 02:31:51 -0000 On 18 August 2011 10:10, PseudoCylon wrote: >> Hm, I fixed the status check in the BAR TX routines. >> Is that enough? Or are you saying that the node ref is freed somewhere >> inside ic_raw_xmit() on a TX failure? > > Sorry, I found the commit after replied. > > But, drivers call ieee80211_free_node() in ic_raw_xmit() on failure. Hm, so we can't kill the free, because ieee80211_ref_node() is called early on. So if ic->ic_raw_xmit(), just return ret, rather then "goto bad" ? Adrian