From owner-freebsd-wireless@freebsd.org Wed Sep 16 16:24:21 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 183FC9C25C1 for ; Wed, 16 Sep 2015 16:24:21 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-ig0-x231.google.com (mail-ig0-x231.google.com [IPv6:2607:f8b0:4001:c05::231]) (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 E481019DA for ; Wed, 16 Sep 2015 16:24:20 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by igxx6 with SMTP id x6so35231318igx.1 for ; Wed, 16 Sep 2015 09:24:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=dYQHkNThO8ncxAidiG7Hp7fszCbo5Z8yrB4YXar4iRk=; b=IWsO2m6DRul/7nNvuUye7MZSW1O+eSCTHLYOYALcp1WJ79B8k0L0/YNNcwRgpVFvpT 8xpf+KM4EWdwHgflnnNTJZJqchfLz4Sz6MASqGKtSyBOvLCAOxBiQDLDtHQaTYqX8N1W EfRgJ3rsgTZlXYqmRj7FSUdQjA1+MKSna3HUxch4dQfEPveY48T5VpeMlLMWOoFUkCIu vmYljMjD8T1/abjh270QBLvAPWKsm2SJdM/jlSZIvQ1keM4i3UXo0nwduqrMYGXwIm02 uxrftnWSo7zDPCGlOb9AOY8+6LYjk83POwazP4CqS3B287e75RtPZZ/MsTVhfcFELzcF zIuQ== MIME-Version: 1.0 X-Received: by 10.50.43.227 with SMTP id z3mr16946186igl.22.1442420660219; Wed, 16 Sep 2015 09:24:20 -0700 (PDT) Received: by 10.36.28.208 with HTTP; Wed, 16 Sep 2015 09:24:20 -0700 (PDT) In-Reply-To: <55F996FD.5060804@shrew.net> References: <55F90187.10809@shrew.net> <55F906CB.9030007@shrew.net> <55F996FD.5060804@shrew.net> Date: Wed, 16 Sep 2015 09:24:20 -0700 Message-ID: Subject: Re: urtwn and hostap From: Adrian Chadd To: Matthew Grooms Cc: "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: Wed, 16 Sep 2015 16:24:21 -0000 The only one to look at is ath(4). I've not fixed/hacked on any other hostap chips. :) if_ath_beacon.c has the logic - it gets a reference when creating a beacon frame. -adrian On 16 September 2015 at 09:21, Matthew Grooms wrote: > On 9/16/2015 10:58 AM, Adrian Chadd wrote: >> >> I think the net80211 beacon create routine doesn't allocate a node >> ref. Yeah, it doesn't. You have to do ieee80211_ref_node() after >> calling becaon_create(), and deref it if the tx fails. The TX success >> will free the node ref for you. >> > > Got it. I'll take another look at one of the drivers that support hostap to > make sure I'm following the same pattern. Thanks again for the feedback! > > -Matthew > > >> >> -adrian >> >> >> On 16 September 2015 at 04:27, Idwer Vollering wrote: >>> >>> 2015-09-16 8:06 GMT+02:00 Matthew Grooms : >>> >>>> It looks like my screenshot got scrubbed. Here is my hopefully faithful >>>> transcription ... >>>> >>>> Fatal trap 9: general protection fault while in kernel mode >>>> cpuid = 3; apic id = 03 >>>> instruction pointer = 0x20:0xffffffff80a01105 >>>> stack pointer = 0x28:0xfffffe0092fe86f0 >>>> frame pointer = 0x28:0xfffffe0092fe8740 >>>> code segment = base 0x0, limit 0xfffff, type 0x1b >>>> = DPL 0, pres 1, long 1, def32 0, gran >>>> 1 >>>> processor eflags = interrupt enabled, resume, IOPL = 0 >>>> current process = 716 (ifconfig) >>>> [thread pid 716 tid 100082 ] >>>> Stopped at __mtx_lock_flags+0x55: movq (%r13),%rax >>>> db> bt >>>> Tracing pid 716 tid 100082 td 0xffffff800512814d0 >>>> __mtx_lock_flags() at __mtx_lock_flags+0x55/frame 0xfffffe0092fe8740 >>>> ieee80211_free_node() at ieee80211_free_node()_0x38/frame >>>> 0xfffffe0092fe8780 >>>> ieee80211_node_vdetach() at ieee80211_node_vdetach()+0x2d/frame >>>> 0xfffffe0092fe87a0 >>>> ieee80211_vap_detach() at ieee80211_vap_detach()+0x35e/frame >>>> 0xfffffe0092fe87d0 >>>> urtwn_vap_delete() at urtwn_vap_delete()+0xe/frame 0xfffffe0092fe87f0 >>>> if_clone_destroyif() at if_clone_destroyif()+0x1aa/frame >>>> 0xfffffe0092fe8840 >>>> if_clone_destroy() at if_clone_destroy()0x8e/frame 0xfffffe0092fe8860 >>>> kern_ioctl() at kern_ioctl()+0x230/frame 0xfffffe0092fe88c0 >>>> sys_ioctl() at sys_ioctl()+0x153/frame 0xfffffe0092fe89a0 >>>> amd64_syscall() at amd64_syscall()+0x282/frame 0xfffffe0092fe8ab0 >>>> Xfast_syscall() at Xfast_syscall()+0xfb/frame 0xfffffe0092fe8ab0 >>>> -- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x8011e8c8a, rsp = >>>> 0x7fffffffe2f8, rbp = 0x7fffffffe310 -- >>>> db> >>> >>> Assuming dumpdev="AUTO" is set in /etc/rc.conf, you should have >>> entered 'dump' at the db> blinker :) >>> >>> The trap details are found in /var/crash/, run kgdb: "kgdb >>> /boot/kernel/kernel /var/crash/vmcore.last", then run 'bt' and 'up' at >>> its prompt. >>> >>>> -Matthew >>>> _______________________________________________ >>>> freebsd-wireless@freebsd.org mailing list >>>> https://lists.freebsd.org/mailman/listinfo/freebsd-wireless >>>> To unsubscribe, send any mail to >>>> "freebsd-wireless-unsubscribe@freebsd.org" >>> >>> _______________________________________________ >>> freebsd-wireless@freebsd.org mailing list >>> https://lists.freebsd.org/mailman/listinfo/freebsd-wireless >>> To unsubscribe, send any mail to >>> "freebsd-wireless-unsubscribe@freebsd.org" >> >> _______________________________________________ >> freebsd-wireless@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-wireless >> To unsubscribe, send any mail to >> "freebsd-wireless-unsubscribe@freebsd.org" > > > _______________________________________________ > freebsd-wireless@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-wireless > To unsubscribe, send any mail to "freebsd-wireless-unsubscribe@freebsd.org"