From owner-freebsd-wireless@FreeBSD.ORG Sun Jul 28 09:23:01 2013 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 80552FAD; Sun, 28 Jul 2013 09:23:01 +0000 (UTC) (envelope-from hans.petter.selasky@bitfrost.no) Received: from mta.bitpro.no (mta.bitpro.no [92.42.64.202]) by mx1.freebsd.org (Postfix) with ESMTP id 6422C2688; Sun, 28 Jul 2013 09:22:59 +0000 (UTC) Received: from mail.lockless.no (mail.lockless.no [46.29.221.38]) by mta.bitpro.no (Postfix) with ESMTP id 438707A26F; Sun, 28 Jul 2013 11:22:59 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.lockless.no (Postfix) with ESMTP id 478288F04D5; Sun, 28 Jul 2013 11:23:04 +0200 (CEST) X-Virus-Scanned: by amavisd-new-2.6.4 (20090625) (Debian) at lockless.no Received: from mail.lockless.no ([127.0.0.1]) by localhost (mail.lockless.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Kf76i5NiuR3I; Sun, 28 Jul 2013 11:23:02 +0200 (CEST) Received: from mail.lockless.no (localhost [127.0.0.1]) by mail.lockless.no (Postfix) with ESMTP id 0C63A8F04D4; Sun, 28 Jul 2013 11:23:02 +0200 (CEST) Subject: RE: My WLI-UC-GNM up crash From: =?utf-8?Q?Hans_Petter_Selasky?= To: =?utf-8?Q?Adrian_Chadd?= , =?utf-8?Q?XiaoQI_Ge?= , =?utf-8?Q?sam=40freebsd=2Eorg?= Date: Sun, 28 Jul 2013 11:23:01 +0200 Mime-Version: 1.0 In-Reply-To: References: X-Priority: 3 (Normal) X-Mailer: Zarafa 7.1.4-41394 Message-Id: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: =?utf-8?Q?freebsd-arm?= , =?utf-8?Q?freebsd-wireless=40freebsd=2Eorg?= X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.14 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: Sun, 28 Jul 2013 09:23:01 -0000 This patch=3F=0D=0A=0D=0Acommit bae4e38c197f464c4bffe7037d5d491e462105b0=0D= =0AAuthor: sam =0D=0ADate: Thu Apr 1 00:38:45 2004 +00= 00=0D=0A=0D=0A radiotap updates:=0D=0A =20=0D=0A o force little-e= ndian byte order for header=0D=0A o pad header to 32-bit boundary to g= uard against applications that assume=0D=0A packet data alignment=0D= =0A=0D=0A--HPS=0D=0A=20=0D=0A=20=0D=0A-----Original message-----=0D=0A> F= rom:Adrian Chadd >=0D=0A>= Sent: Sunday 28th July 2013 6:29=0D=0A> To: XiaoQI Ge >=0D=0A> Cc: freebsd-arm >; freebsd-wireless@freebsd.org =20=0D=0A> Subject: Re: My WLI-UC-GNM up crash=0D= =0A>=20=0D=0A> Not sure, I haven't dug into it. It shouldn't be hard to f= ix though.=0D=0A>=20=0D=0A> I think someone just screwed up in defining t= he structures in the USB=0D=0A> drivers and didn't specify alignment. ath= (4) got it right because Sam=0D=0A> ran it on MIPS/ARM boards.=0D=0A>=20=0D= =0A>=20=0D=0A>=20=0D=0A> -adrian=0D=0A>=20=0D=0A> On 27 July 2013 20:34, = XiaoQI Ge > wrote:=0D=0A> > That shou= ld be how to solve it=3F=0D=0A> > --=0D=0A> > Regards.=0D=0A> > By: XiaoQ= I Ge; PGP:8B09D5F7=0D=0A> > WWW: https://www.7axu.com/=0D=0A> >=0D=0A> >=0D= =0A> >=0D=0A> > 2013/7/27 Adrian Chadd >:=0D=0A> >> This is known; there's some alignment issue wi= th the radiotap TX/RX=0D=0A> >> structures in some of these USB devices.=0D= =0A> >>=0D=0A> >>=0D=0A> >>=0D=0A> >> -adrain=0D=0A> >>=0D=0A> >> On 25 J= uly 2013 20:23, XiaoQI Ge > wrote:=0D= =0A> >>> =E6=88=91=E6=9B=B4=E6=96=B0=E5=88=B0=E6=9C=80=E6=96=B0=E7=9A=84=E6= =BA=90=E7=A0=81=EF=BC=88r253662=EF=BC=89=EF=BC=8C=E8=BF=99=E6=AC=A1=E9=94= =99=E8=AF=AF=E4=BF=A1=E6=81=AF=E5=8F=98=E6=88=90=E4=BA=860xde9f4d34=0D=0A= > >>>=0D=0A> >>> [root@FreeBSD.ttyu0 ] =CB=9C= # Fatal kernel mode data abort: 'Alignment Fault 1'=0D=0A> >>> trapframe= : 0xde9f4d34=0D=0A> >>> FSR=3D00000801, FAR=3Dc284afbb, spsr=3D00000013=0D= =0A> >>> r0 =3Dc284c000, r1 =3Dc284afbb, r2 =3Dc284c210, r3 =3D0000096c=0D= =0A> >>> r4 =3Dc284c024, r5 =3Dc05f07c5, r6 =3D00000014, r7 =3Dc2844800=0D= =0A> >>> r8 =3Dc05f07c5, r9 =3Dc284c000, r10=3D000035cb, r11=3Dde9f4e10=0D= =0A> >>> r12=3D0000002e, ssp=3Dde9f4d80, slr=3D00000000, pc =3Dc046d20c=0D= =0A> >>>=0D=0A> >>> [ thread pid 0 tid 100053 ]=0D=0A> >>> Stopped at = ieee80211_radiotap_chan_change+0x90: strh r3, [r1]=0D=0A> >>> db>= =0D=0A> >>> ---=0D=0A> >>> Kernel wlan related options=0D=0A> >>> device = wlan # 802.11 support=0D=0A> >>> options IEEE= 80211_DEBUG # enable debug msgs=0D=0A> >>> options IEEE80211_AMPD= U_AGE # age frames in AMPDU reorder q's=0D=0A> >>> options IEEE80= 211_SUPPORT_MESH # enable 802.11s draft support=0D=0A> >>> device = wlan_wep # 802.11 WEP support=0D=0A> >>> device wlan_c= cmp # 802.11 CCMP support=0D=0A> >>> device wlan_tkip = # 802.11 TKIP support=0D=0A> >>> device wlan_amrr # AMRR= transmit rate control algorithm=0D=0A> >>> device firmware = # firmware assist module=0D=0A> >>> device run #Ralink Te= chnology USB IEEE 802.11a/g/n=0D=0A> >>> wireless network device=0D=0A> >= >> device runfw #Firmware Module for Ralink driver=0D=0A> >>>=0D= =0A> >>> ---=0D=0A> >>> The compiler command=0D=0A> >>> make TARGET_ARCH=3D= armv6 TARGET_CPUTYPE=3Darmv6 KERNCONF=3DBBB WITH_FDT=3Dyes=0D=0A> >>> bui= ldkernel=0D=0A> >>> --=0D=0A> >>> Regards.=0D=0A> >>> By: XiaoQI Ge; PGP:= 8B09D5F7=0D=0A> >>> WWW: https://www.7axu.com/=0D=0A> >>>=0D=0A> >>>=0D=0A= > >>>=0D=0A> >>> 2013/7/24 XiaoQI Ge = >:=0D=0A> >>>> How do I debug it=3F Can provide useful information=0D=0A>= >>>>=0D=0A> >>>> login: root=0D=0A> >>>> Jul 24 18:27:31 FreeBSD login: = ROOT LOGIN (root) ON ttyu0=0D=0A> >>>> FreeBSD 10.0-CURRENT (BBB) #4 r253= 585M: Wed Jul 24 17:07:53 CST 2013=0D=0A> >>>> [root@FreeBSD.ttyu0 ] =CB=9C # ifconfig wlan create wlandev run0=0D=0A>= >>>> wlan0: Ethernet address: 10:6f:3f:2b:fd:6d=0D=0A> >>>> wlan0=0D=0A>= >>>> [root@FreeBSD.ttyu0 ] =CB=9C # ifconfig= wlan0 up=0D=0A> >>>> run0: firmware RT2870 ver. 0.236 loaded=0D=0A> >>>>= Fatal kernel mode data abort: 'Alignment Fault 1'=0D=0A> >>>> trapframe:= 0xde9e4d5c=0D=0A> >>>> FSR=3D00000801, FAR=3Dc282ffbb, spsr=3D00000013=0D= =0A> >>>> r0 =3Dc2831000, r1 =3Dc282ffbb, r2 =3Dc2831210, r3 =3D0000096c=0D= =0A> >>>> r4 =3Dc2831024, r5 =3Dc2831000, r6 =3Dc05d9362, r7 =3Dc2829800=0D= =0A> >>>> r8 =3D00000014, r9 =3Dc08144d8, r10=3D80001cce, r11=3Dde9e4e10=0D= =0A> >>>> r12=3D0000002e, ssp=3Dde9e4da8, slr=3D00000000, pc =3Dc045c510=0D= =0A> >>>>=0D=0A> >>>> [ thread pid 0 tid 100053 ]=0D=0A> >>>> Stopped at = ieee80211_radiotap_chan_change+0x90: strh r3, [r1]=0D=0A> >>>>= db>=0D=0A> >>>>=0D=0A> >>>>=0D=0A> >>>> These two places modified:=0D=0A= > >>>> 2522 }=0D=0A> >>>> 2523=0D=0A> >>>> 2524 ant =3D run_maxrs= si_chain(sc, rxwi);=0D=0A> >>>> 2525 rssi =3D rxwi->rssi[ant];=0D=0A>= >>>> 2526 nf =3D run_rssi2dbm(sc, rssi, ant);=0D=0A> >>>> 2527=0D=0A= > >>>> 2528 m->m_pkthdr.rcvif =3D ifp;=0D=0A> >>>> 2529 m->m_pkth= dr.len =3D m->m_len =3D len;=0D=0A> >>>> 2530 /*=0D=0A> >>>> 2531 if = (ni !=3D NULL) {=0D=0A> >>>> 2532 (void)ieee80211_input(ni, m, rs= si, nf);=0D=0A> >>>> 2533 ieee80211_free_node(ni);=0D=0A> >>>> 25= 34 } else {=0D=0A> >>>> 2535 (void)ieee80211_input_all(ic, m,= rssi, nf);=0D=0A> >>>> 2536 }=0D=0A> >>>> 2537 */=0D=0A> >>>> 2538 = /*=0D=0A> >>>> 2539 * DAAN: fill-in tap header BEFORE calling iee= e80211_input*() so the=0D=0A> >>>> 2540 * user will see the actual d= ata that belongs to THIS packet..=0D=0A> >>>> 2541 */=0D=0A> >>>> 25= 42 if (__predict_false(ieee80211_radiotap_active(ic))) {=0D=0A> >>>> = 2543 struct run_rx_radiotap_header *tap =3D &sc->sc_rxtap;=0D=0A>= >>>> 2544=0D=0A> >>>> 2545 tap->wr_flags =3D 0;=0D=0A> >>>> 2546= tap->wr_chan_freq =3D htole16(ic->ic_curchan->ic_freq);=0D=0A> >= >>> 2547 tap->wr_chan_flags =3D htole16(ic->ic_curchan->ic_flags)= ;=0D=0A> >>>> 2548 tap->wr_antsignal =3D rssi;=0D=0A> >>>> 2549 = tap->wr_antenna =3D ant;=0D=0A> >>>> 2550 tap->wr_dbm_ants= ignal =3D run_rssi2dbm(sc, rssi, ant);=0D=0A> >>>> 2551 tap->wr_r= ate =3D 2; /* in case it can't be found below */=0D=0A> >>>> 2552 = phy =3D le16toh(rxwi->phy);=0D=0A> >>>> 2553 switch (phy & RT2= 860_PHY_MODE) {=0D=0A> >>>> 2554 case RT2860_PHY_CCK:=0D=0A> >>>>= 2555 switch ((phy & RT2860_PHY_MCS) & =CB=9CRT2860_PHY_SHPRE= ) {=0D=0A> >>>> 2556 case 0: tap->wr_rate =3D 2; break;=0D=0A= > >>>> 2557 case 1: tap->wr_rate =3D 4; break;=0D=0A> >>>> = 2558 case 2: tap->wr_rate =3D 11; break;=0D=0A> >>>> 2559 = case 3: tap->wr_rate =3D 22; break;=0D=0A> >>>> 2560 = }=0D=0A> >>>> 2561 if (phy & RT2860_PHY_SHPRE)=0D=0A> >>>>= 2562 tap->wr_flags |=3D IEEE80211_RADIOTAP_F_SHORTPRE;=0D= =0A> >>>> 2563 break;=0D=0A> >>>> 2564 case RT2860_PH= Y_OFDM:=0D=0A> >>>> 2565 switch (phy & RT2860_PHY_MCS) {=0D=0A= > >>>> 2566 case 0: tap->wr_rate =3D 12; break;=0D=0A> >>>> = 2567 case 1: tap->wr_rate =3D 18; break;=0D=0A> >>>> 2568 = case 2: tap->wr_rate =3D 24; break;=0D=0A> >>>> 2569 = case 3: tap->wr_rate =3D 36; break;=0D=0A> >>>> 2570 case= 4: tap->wr_rate =3D 48; break;=0D=0A> >>>> 2571 case 5: tap= ->wr_rate =3D 72; break;=0D=0A> >>>> 2572 case 6: tap->wr_ra= te =3D 96; break;=0D=0A> >>>> 2573 case 7: tap->wr_rate =3D = 108; break;=0D=0A> >>>> 2574 }=0D=0A> >>>> 2575 b= reak;=0D=0A> >>>> 2576 }=0D=0A> >>>> 2577 }=0D=0A> >>>> 2578=0D= =0A> >>>> 2579 if (ni !=3D NULL) {=0D=0A> >>>> 2580 (void)iee= e80211_input(ni, m, rssi, nf);=0D=0A> >>>> 2581 ieee80211_free_no= de(ni);=0D=0A> >>>> 2582 } else {=0D=0A> >>>> 2583 (void)ieee= 80211_input_all(ic, m, rssi, nf);=0D=0A> >>>> 2584 }=0D=0A> >>>> 2585= =0D=0A> >>>> 2586 }=0D=0A> >>>> 2587=0D=0A> >>>> 2588 static void=0D=0A> = >>>>=0D=0A> >>>>=0D=0A> >>>> Index: sys/vm/vm_map.c=0D=0A> >>>> =3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D=0A> >>>> --- sys/vm/vm_map.= c (revision 253514)=0D=0A> >>>> +++ sys/vm/vm_map.c (working copy= )=0D=0A> >>>> @@ -239,8 +239,7 @@=0D=0A> >>>> vm_map_t map;=0D=0A= > >>>>=0D=0A> >>>> map =3D (vm_map_t)mem;=0D=0A> >>>> - map= ->nentries =3D 0;=0D=0A> >>>> - map->size =3D 0;=0D=0A> >>>> + = memset(map, 0, sizeof(*map));=0D=0A> >>>> mtx_init(&map->system= _mtx, "vm map (system)", NULL, MTX_DEF |=0D=0A> >>>> MTX_DUPOK);=0D=0A> >= >>> sx_init(&map->lock, "vm map (user)");=0D=0A> >>>> ret= urn (0);=0D=0A> >>>>=0D=0A> >>>> --=0D=0A> >>>> Regards.=0D=0A> >>>> By: = XiaoQI Ge; PGP:8B09D5F7=0D=0A> >>>> WWW: https://www.7axu.com/=0D=0A> >>>= >=0D=0A> >>>>=0D=0A> >>>>=0D=0A> >>>> 2013/7/24 XiaoQI Ge >:=0D=0A> >>>>> I manually make up, is compiling the= kernel=0D=0A> >>>>> --=0D=0A> >>>>> Regards.=0D=0A> >>>>> By: XiaoQI Ge;= PGP:8B09D5F7=0D=0A> >>>>> WWW: https://www.7axu.com/=0D=0A> >>>>>=0D=0A>= >>>>>=0D=0A> >>>>>=0D=0A> >>>>> 2013/7/24 XiaoQI Ge >:=0D=0A> >>>>>> patch < /root/if_run_2013_01_19_radiota= p_fix_only.diff appears to be invalid=0D=0A> >>>>>>=0D=0A> >>>>>> ] /usr/= src/sys/dev/usb/wlan # patch <=0D=0A> >>>>>> /root/if_run_2013_01_19_radi= otap_fix_only.diff=0D=0A> >>>>>> Hmm... Looks like a unified diff to me.= =2E.=0D=0A> >>>>>> The text leading up to this was:=0D=0A> >>>>>> -------= -------------------=0D=0A> >>>>>> |--- if_run.c.fix1_vnet 2013-06-14 10:1= 2:49.786774072 +0200=0D=0A> >>>>>> |+++ if_run.c.fix2_vnet_plus_radiotap = 2013-06-14 10:15:34.890774314 +0200=0D=0A> >>>>>> ---------------------= -----=0D=0A> >>>>>> File to patch:=0D=0A> >>>>>>=0D=0A> >>>>>>=0D=0A> >>>= >>> 2013/7/23 Daan Vreeken >:=0D=0A= > >>>>>>> cd /usr/src/sys/dev/usb/wlan=0D=0A> >>>>>>=0D=0A> >>>>>>=0D=0A>= >>>>>>=0D=0A> >>>>>> --=0D=0A> >>>>>> Regards.=0D=0A> >>>>>> By: XiaoQI = Ge; PGP:8B09D5F7=0D=0A> >>>>>> WWW: https://www.7axu.com/=0D=0A> >>> ____= ___________________________________________=0D=0A> >>> freebsd-wireless@f= reebsd.org mailing list=0D=0A> >>>= http://lists.freebsd.org/mailman/listinfo/freebsd-wireless =20=0D=0A> >>> To unsubs= cribe, send any mail to "freebsd-wireless-unsubscribe@freebsd.org "=0D=0A> _____________________= __________________________=0D=0A> freebsd-arm@freebsd.org mailing list=0D=0A> http://lists.freebsd.org/mailman/l= istinfo/freebsd-arm =20=0D=0A> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@fr= eebsd.org "=0D=0A=0D=0A From owner-freebsd-wireless@FreeBSD.ORG Sun Jul 28 10:33:51 2013 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id AC7D2D5A; Sun, 28 Jul 2013 10:33:51 +0000 (UTC) (envelope-from hps@bitfrost.no) Received: from mta.bitpro.no (mta.bitpro.no [92.42.64.202]) by mx1.freebsd.org (Postfix) with ESMTP id 207BB289E; Sun, 28 Jul 2013 10:33:50 +0000 (UTC) Received: from mail.lockless.no (mail.lockless.no [46.29.221.38]) by mta.bitpro.no (Postfix) with ESMTP id 0DC197A270; Sun, 28 Jul 2013 12:33:49 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.lockless.no (Postfix) with ESMTP id 1C4C88F04E2; Sun, 28 Jul 2013 12:33:54 +0200 (CEST) X-Virus-Scanned: by amavisd-new-2.6.4 (20090625) (Debian) at lockless.no Received: from mail.lockless.no ([127.0.0.1]) by localhost (mail.lockless.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fyuxMI1VnXwj; Sun, 28 Jul 2013 12:33:53 +0200 (CEST) Received: from laptop015.hselasky.homeunix.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) by mail.lockless.no (Postfix) with ESMTPSA id D4CAA8F04E1; Sun, 28 Jul 2013 12:33:52 +0200 (CEST) Message-ID: <51F4F3E9.9010605@bitfrost.no> Date: Sun, 28 Jul 2013 12:35:21 +0200 From: Hans Petter Selasky Organization: Bitfrost A/S User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130522 Thunderbird/17.0.6 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: My WLI-UC-GNM up crash References: <1374573600-2351360719.d37ada5f86@bliksem.vehosting.nl> <201307231220.52817.Daan@vitsch.nl> In-Reply-To: Content-Type: multipart/mixed; boundary="------------090509080502000108040303" Cc: freebsd-arm , freebsd-wireless@freebsd.org X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.14 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: Sun, 28 Jul 2013 10:33:51 -0000 This is a multi-part message in MIME format. --------------090509080502000108040303 Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit Hi, Can you try the attached patch? --HPS --------------090509080502000108040303 Content-Type: text/x-patch; name="radiotap.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="radiotap.diff" === sys/dev/usb/wlan/if_rumvar.h ================================================================== --- sys/dev/usb/wlan/if_rumvar.h (revision 253548) +++ sys/dev/usb/wlan/if_rumvar.h (local) @@ -29,7 +29,7 @@ int8_t wr_antsignal; int8_t wr_antnoise; uint8_t wr_antenna; -}; +} __packed __aligned(8); #define RT2573_RX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ @@ -47,7 +47,7 @@ uint16_t wt_chan_freq; uint16_t wt_chan_flags; uint8_t wt_antenna; -}; +} __packed __aligned(8); #define RT2573_TX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ === sys/dev/usb/wlan/if_runvar.h ================================================================== --- sys/dev/usb/wlan/if_runvar.h (revision 253548) +++ sys/dev/usb/wlan/if_runvar.h (local) @@ -58,7 +58,7 @@ int8_t wr_dbm_antsignal; uint8_t wr_antenna; uint8_t wr_antsignal; -} __packed; +} __packed __aligned(8); #define RUN_RX_RADIOTAP_PRESENT \ (1 << IEEE80211_RADIOTAP_FLAGS | \ @@ -75,7 +75,7 @@ uint16_t wt_chan_freq; uint16_t wt_chan_flags; uint8_t wt_hwqueue; -} __packed; +} __packed __aligned(8); #define IEEE80211_RADIOTAP_HWQUEUE 15 === sys/dev/usb/wlan/if_uathvar.h ================================================================== --- sys/dev/usb/wlan/if_uathvar.h (revision 253548) +++ sys/dev/usb/wlan/if_uathvar.h (local) @@ -52,7 +52,7 @@ int8_t wr_antsignal; int8_t wr_antnoise; u_int8_t wr_antenna; -} __packed; +} __packed __aligned(8); #define UATH_RX_RADIOTAP_PRESENT ( \ (1 << IEEE80211_RADIOTAP_TSFT) | \ @@ -69,7 +69,7 @@ uint8_t wt_flags; uint16_t wt_chan_freq; uint16_t wt_chan_flags; -} __packed; +} __packed __aligned(8); #define UATH_TX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ === sys/dev/usb/wlan/if_upgtvar.h ================================================================== --- sys/dev/usb/wlan/if_upgtvar.h (revision 253548) +++ sys/dev/usb/wlan/if_upgtvar.h (local) @@ -380,7 +380,7 @@ uint16_t wr_chan_freq; uint16_t wr_chan_flags; int8_t wr_antsignal; -} __packed; +} __packed __aligned(8); #define UPGT_RX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ @@ -394,7 +394,7 @@ uint8_t wt_rate; uint16_t wt_chan_freq; uint16_t wt_chan_flags; -} __packed; +} __packed __aligned(8); #define UPGT_TX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ === sys/dev/usb/wlan/if_uralvar.h ================================================================== --- sys/dev/usb/wlan/if_uralvar.h (revision 253548) +++ sys/dev/usb/wlan/if_uralvar.h (local) @@ -34,7 +34,7 @@ int8_t wr_antsignal; int8_t wr_antnoise; uint8_t wr_antenna; -}; +} __packed __aligned(8); #define RAL_RX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ @@ -51,7 +51,7 @@ uint16_t wt_chan_freq; uint16_t wt_chan_flags; uint8_t wt_antenna; -}; +} __packed __aligned(8); #define RAL_TX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ === sys/dev/usb/wlan/if_urtwnreg.h ================================================================== --- sys/dev/usb/wlan/if_urtwnreg.h (revision 253548) +++ sys/dev/usb/wlan/if_urtwnreg.h (local) @@ -1030,7 +1030,7 @@ uint16_t wr_chan_freq; uint16_t wr_chan_flags; uint8_t wr_dbm_antsignal; -} __packed; +} __packed __aligned(8); #define URTWN_RX_RADIOTAP_PRESENT \ (1 << IEEE80211_RADIOTAP_FLAGS | \ @@ -1043,7 +1043,7 @@ uint8_t wt_flags; uint16_t wt_chan_freq; uint16_t wt_chan_flags; -} __packed; +} __packed __aligned(8); #define URTWN_TX_RADIOTAP_PRESENT \ (1 << IEEE80211_RADIOTAP_FLAGS | \ === sys/dev/usb/wlan/if_urtwvar.h ================================================================== --- sys/dev/usb/wlan/if_urtwvar.h (revision 253548) +++ sys/dev/usb/wlan/if_urtwvar.h (local) @@ -63,7 +63,7 @@ uint16_t wr_chan_freq; uint16_t wr_chan_flags; int8_t wr_dbm_antsignal; -} __packed; +} __packed __aligned(8); #define URTW_RX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ @@ -75,7 +75,7 @@ uint8_t wt_flags; uint16_t wt_chan_freq; uint16_t wt_chan_flags; -} __packed; +} __packed __aligned(8); #define URTW_TX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ === sys/dev/usb/wlan/if_zydreg.h ================================================================== --- sys/dev/usb/wlan/if_zydreg.h (revision 253548) +++ sys/dev/usb/wlan/if_zydreg.h (local) @@ -1185,7 +1185,7 @@ uint16_t wr_chan_flags; int8_t wr_antsignal; int8_t wr_antnoise; -} __packed; +} __packed __aligned(8); #define ZYD_RX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ @@ -1200,7 +1200,7 @@ uint8_t wt_rate; uint16_t wt_chan_freq; uint16_t wt_chan_flags; -} __packed; +} __packed __aligned(8); #define ZYD_TX_RADIOTAP_PRESENT \ ((1 << IEEE80211_RADIOTAP_FLAGS) | \ --------------090509080502000108040303--