Date: Sun, 28 Jul 2013 11:23:01 +0200 From: =?utf-8?Q?Hans_Petter_Selasky?= <hans.petter.selasky@bitfrost.no> To: =?utf-8?Q?Adrian_Chadd?= <adrian@freebsd.org>, =?utf-8?Q?XiaoQI_Ge?= <ghw@7axu.com>, =?utf-8?Q?sam=40freebsd=2Eorg?= <sam@freebsd.org> Cc: =?utf-8?Q?freebsd-arm?= <freebsd-arm@freebsd.org>, =?utf-8?Q?freebsd-wireless=40freebsd=2Eorg?= <freebsd-wireless@freebsd.org> Subject: RE: My WLI-UC-GNM up crash Message-ID: <zarafa.51f4e2f5.7061.5a3556077ab376ad@mail.lockless.no> In-Reply-To: <CAJ-Vmo=pt7Cv9TRmcB%2BFHB_otz-2Jy6HbJgSZ5JfH%2BS3qcf8uA@mail.gmail.com> References: <cakrd9exvuqeqz=3ntmh7k3e4_6fjw9jph_tpfchujhqhwwbzsg@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
This patch?
commit bae4e38c197f464c4bffe7037d5d491e462105b0
Author: sam <sam@FreeBSD.org>
Date: Thu Apr 1 00:38:45 2004 +0000
radiotap updates:
o force little-endian byte order for header
o pad header to 32-bit boundary to guard against applications that assume
packet data alignment
--HPS
-----Original message-----
> From:Adrian Chadd <adrian@freebsd.org <mailto:adrian@freebsd.org> >
> Sent: Sunday 28th July 2013 6:29
> To: XiaoQI Ge <ghw@7axu.com <mailto:ghw@7axu.com> >
> Cc: freebsd-arm <freebsd-arm@freebsd.org <mailto:freebsd-arm@freebsd.org> >; freebsd-wireless@freebsd.org <mailto:freebsd-wireless@freebsd.org>
> Subject: Re: My WLI-UC-GNM up crash
>
> Not sure, I haven't dug into it. It shouldn't be hard to fix though.
>
> I think someone just screwed up in defining the structures in the USB
> drivers and didn't specify alignment. ath(4) got it right because Sam
> ran it on MIPS/ARM boards.
>
>
>
> -adrian
>
> On 27 July 2013 20:34, XiaoQI Ge <ghw@7axu.com <mailto:ghw@7axu.com> > wrote:
> > That should be how to solve it?
> > --
> > Regards.
> > By: XiaoQI Ge; PGP:8B09D5F7
> > WWW: https://www.7axu.com/
> >
> >
> >
> > 2013/7/27 Adrian Chadd <adrian@freebsd.org <mailto:adrian@freebsd.org> >:
> >> This is known; there's some alignment issue with the radiotap TX/RX
> >> structures in some of these USB devices.
> >>
> >>
> >>
> >> -adrain
> >>
> >> On 25 July 2013 20:23, XiaoQI Ge <ghw@7axu.com <mailto:ghw@7axu.com> > wrote:
> >>> 我更新到最新的源码(r253662),这次错误信息变成了0xde9f4d34
> >>>
> >>> [root@FreeBSD.ttyu0 <mailto:root@FreeBSD.ttyu0> ] ˜ # Fatal kernel mode data abort: 'Alignment Fault 1'
> >>> trapframe: 0xde9f4d34
> >>> FSR=00000801, FAR=c284afbb, spsr=00000013
> >>> r0 =c284c000, r1 =c284afbb, r2 =c284c210, r3 =0000096c
> >>> r4 =c284c024, r5 =c05f07c5, r6 =00000014, r7 =c2844800
> >>> r8 =c05f07c5, r9 =c284c000, r10=000035cb, r11=de9f4e10
> >>> r12=0000002e, ssp=de9f4d80, slr=00000000, pc =c046d20c
> >>>
> >>> [ thread pid 0 tid 100053 ]
> >>> Stopped at ieee80211_radiotap_chan_change+0x90: strh r3, [r1]
> >>> db>
> >>> ---
> >>> Kernel wlan related options
> >>> device wlan # 802.11 support
> >>> options IEEE80211_DEBUG # enable debug msgs
> >>> options IEEE80211_AMPDU_AGE # age frames in AMPDU reorder q's
> >>> options IEEE80211_SUPPORT_MESH # enable 802.11s draft support
> >>> device wlan_wep # 802.11 WEP support
> >>> device wlan_ccmp # 802.11 CCMP support
> >>> device wlan_tkip # 802.11 TKIP support
> >>> device wlan_amrr # AMRR transmit rate control algorithm
> >>> device firmware # firmware assist module
> >>> device run #Ralink Technology USB IEEE 802.11a/g/n
> >>> wireless network device
> >>> device runfw #Firmware Module for Ralink driver
> >>>
> >>> ---
> >>> The compiler command
> >>> make TARGET_ARCH=armv6 TARGET_CPUTYPE=armv6 KERNCONF=BBB WITH_FDT=yes
> >>> buildkernel
> >>> --
> >>> Regards.
> >>> By: XiaoQI Ge; PGP:8B09D5F7
> >>> WWW: https://www.7axu.com/
> >>>
> >>>
> >>>
> >>> 2013/7/24 XiaoQI Ge <ghw@7axu.com <mailto:ghw@7axu.com> >:
> >>>> How do I debug it? Can provide useful information
> >>>>
> >>>> login: root
> >>>> Jul 24 18:27:31 FreeBSD login: ROOT LOGIN (root) ON ttyu0
> >>>> FreeBSD 10.0-CURRENT (BBB) #4 r253585M: Wed Jul 24 17:07:53 CST 2013
> >>>> [root@FreeBSD.ttyu0 <mailto:root@FreeBSD.ttyu0> ] ˜ # ifconfig wlan create wlandev run0
> >>>> wlan0: Ethernet address: 10:6f:3f:2b:fd:6d
> >>>> wlan0
> >>>> [root@FreeBSD.ttyu0 <mailto:root@FreeBSD.ttyu0> ] ˜ # ifconfig wlan0 up
> >>>> run0: firmware RT2870 ver. 0.236 loaded
> >>>> Fatal kernel mode data abort: 'Alignment Fault 1'
> >>>> trapframe: 0xde9e4d5c
> >>>> FSR=00000801, FAR=c282ffbb, spsr=00000013
> >>>> r0 =c2831000, r1 =c282ffbb, r2 =c2831210, r3 =0000096c
> >>>> r4 =c2831024, r5 =c2831000, r6 =c05d9362, r7 =c2829800
> >>>> r8 =00000014, r9 =c08144d8, r10=80001cce, r11=de9e4e10
> >>>> r12=0000002e, ssp=de9e4da8, slr=00000000, pc =c045c510
> >>>>
> >>>> [ thread pid 0 tid 100053 ]
> >>>> Stopped at ieee80211_radiotap_chan_change+0x90: strh r3, [r1]
> >>>> db>
> >>>>
> >>>>
> >>>> These two places modified:
> >>>> 2522 }
> >>>> 2523
> >>>> 2524 ant = run_maxrssi_chain(sc, rxwi);
> >>>> 2525 rssi = rxwi->rssi[ant];
> >>>> 2526 nf = run_rssi2dbm(sc, rssi, ant);
> >>>> 2527
> >>>> 2528 m->m_pkthdr.rcvif = ifp;
> >>>> 2529 m->m_pkthdr.len = m->m_len = len;
> >>>> 2530 /*
> >>>> 2531 if (ni != NULL) {
> >>>> 2532 (void)ieee80211_input(ni, m, rssi, nf);
> >>>> 2533 ieee80211_free_node(ni);
> >>>> 2534 } else {
> >>>> 2535 (void)ieee80211_input_all(ic, m, rssi, nf);
> >>>> 2536 }
> >>>> 2537 */
> >>>> 2538 /*
> >>>> 2539 * DAAN: fill-in tap header BEFORE calling ieee80211_input*() so the
> >>>> 2540 * user will see the actual data that belongs to THIS packet..
> >>>> 2541 */
> >>>> 2542 if (__predict_false(ieee80211_radiotap_active(ic))) {
> >>>> 2543 struct run_rx_radiotap_header *tap = &sc->sc_rxtap;
> >>>> 2544
> >>>> 2545 tap->wr_flags = 0;
> >>>> 2546 tap->wr_chan_freq = htole16(ic->ic_curchan->ic_freq);
> >>>> 2547 tap->wr_chan_flags = htole16(ic->ic_curchan->ic_flags);
> >>>> 2548 tap->wr_antsignal = rssi;
> >>>> 2549 tap->wr_antenna = ant;
> >>>> 2550 tap->wr_dbm_antsignal = run_rssi2dbm(sc, rssi, ant);
> >>>> 2551 tap->wr_rate = 2; /* in case it can't be found below */
> >>>> 2552 phy = le16toh(rxwi->phy);
> >>>> 2553 switch (phy & RT2860_PHY_MODE) {
> >>>> 2554 case RT2860_PHY_CCK:
> >>>> 2555 switch ((phy & RT2860_PHY_MCS) & ˜RT2860_PHY_SHPRE) {
> >>>> 2556 case 0: tap->wr_rate = 2; break;
> >>>> 2557 case 1: tap->wr_rate = 4; break;
> >>>> 2558 case 2: tap->wr_rate = 11; break;
> >>>> 2559 case 3: tap->wr_rate = 22; break;
> >>>> 2560 }
> >>>> 2561 if (phy & RT2860_PHY_SHPRE)
> >>>> 2562 tap->wr_flags |= IEEE80211_RADIOTAP_F_SHORTPRE;
> >>>> 2563 break;
> >>>> 2564 case RT2860_PHY_OFDM:
> >>>> 2565 switch (phy & RT2860_PHY_MCS) {
> >>>> 2566 case 0: tap->wr_rate = 12; break;
> >>>> 2567 case 1: tap->wr_rate = 18; break;
> >>>> 2568 case 2: tap->wr_rate = 24; break;
> >>>> 2569 case 3: tap->wr_rate = 36; break;
> >>>> 2570 case 4: tap->wr_rate = 48; break;
> >>>> 2571 case 5: tap->wr_rate = 72; break;
> >>>> 2572 case 6: tap->wr_rate = 96; break;
> >>>> 2573 case 7: tap->wr_rate = 108; break;
> >>>> 2574 }
> >>>> 2575 break;
> >>>> 2576 }
> >>>> 2577 }
> >>>> 2578
> >>>> 2579 if (ni != NULL) {
> >>>> 2580 (void)ieee80211_input(ni, m, rssi, nf);
> >>>> 2581 ieee80211_free_node(ni);
> >>>> 2582 } else {
> >>>> 2583 (void)ieee80211_input_all(ic, m, rssi, nf);
> >>>> 2584 }
> >>>> 2585
> >>>> 2586 }
> >>>> 2587
> >>>> 2588 static void
> >>>>
> >>>>
> >>>> Index: sys/vm/vm_map.c
> >>>> ===================================================================
> >>>> --- sys/vm/vm_map.c (revision 253514)
> >>>> +++ sys/vm/vm_map.c (working copy)
> >>>> @@ -239,8 +239,7 @@
> >>>> vm_map_t map;
> >>>>
> >>>> map = (vm_map_t)mem;
> >>>> - map->nentries = 0;
> >>>> - map->size = 0;
> >>>> + memset(map, 0, sizeof(*map));
> >>>> mtx_init(&map->system_mtx, "vm map (system)", NULL, MTX_DEF |
> >>>> MTX_DUPOK);
> >>>> sx_init(&map->lock, "vm map (user)");
> >>>> return (0);
> >>>>
> >>>> --
> >>>> Regards.
> >>>> By: XiaoQI Ge; PGP:8B09D5F7
> >>>> WWW: https://www.7axu.com/
> >>>>
> >>>>
> >>>>
> >>>> 2013/7/24 XiaoQI Ge <ghw@7axu.com <mailto:ghw@7axu.com> >:
> >>>>> I manually make up, is compiling the kernel
> >>>>> --
> >>>>> Regards.
> >>>>> By: XiaoQI Ge; PGP:8B09D5F7
> >>>>> WWW: https://www.7axu.com/
> >>>>>
> >>>>>
> >>>>>
> >>>>> 2013/7/24 XiaoQI Ge <ghw@7axu.com <mailto:ghw@7axu.com> >:
> >>>>>> patch < /root/if_run_2013_01_19_radiotap_fix_only.diff appears to be invalid
> >>>>>>
> >>>>>> ] /usr/src/sys/dev/usb/wlan # patch <
> >>>>>> /root/if_run_2013_01_19_radiotap_fix_only.diff
> >>>>>> Hmm... Looks like a unified diff to me...
> >>>>>> The text leading up to this was:
> >>>>>> --------------------------
> >>>>>> |--- if_run.c.fix1_vnet 2013-06-14 10:12:49.786774072 +0200
> >>>>>> |+++ if_run.c.fix2_vnet_plus_radiotap 2013-06-14 10:15:34.890774314 +0200
> >>>>>> --------------------------
> >>>>>> File to patch:
> >>>>>>
> >>>>>>
> >>>>>> 2013/7/23 Daan Vreeken <Daan@vitsch.nl <mailto:Daan@vitsch.nl> >:
> >>>>>>> cd /usr/src/sys/dev/usb/wlan
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Regards.
> >>>>>> By: XiaoQI Ge; PGP:8B09D5F7
> >>>>>> WWW: https://www.7axu.com/
> >>> _______________________________________________
> >>> freebsd-wireless@freebsd.org <mailto:freebsd-wireless@freebsd.org> mailing list
> >>> http://lists.freebsd.org/mailman/listinfo/freebsd-wireless <http://lists.freebsd.org/mailman/listinfo/freebsd-wireless>
> >>> To unsubscribe, send any mail to "freebsd-wireless-unsubscribe@freebsd.org <mailto:freebsd-wireless-unsubscribe@freebsd.org> "
> _______________________________________________
> freebsd-arm@freebsd.org <mailto:freebsd-arm@freebsd.org> mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm <http://lists.freebsd.org/mailman/listinfo/freebsd-arm>
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org <mailto:freebsd-arm-unsubscribe@freebsd.org> "
From owner-freebsd-wireless@FreeBSD.ORG Sun Jul 28 10:33:51 2013
Return-Path: <owner-freebsd-wireless@FreeBSD.ORG>
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 <hps@bitfrost.no>
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 <adrian@freebsd.org>
Subject: Re: My WLI-UC-GNM up crash
References: <cakrd9exvuqeqz=3ntmh7k3e4_6fjw9jph_tpfchujhqhwwbzsg@mail.gmail.com>
<1374573600-2351360719.d37ada5f86@bliksem.vehosting.nl>
<CAKrd9eXHXmM5_ai0=kV4Sd8U3Fej8FkKp7XXcbppxeBVDHB3Pg@mail.gmail.com>
<201307231220.52817.Daan@vitsch.nl>
<CAKrd9eXPB2-cAySVSGm-BJHPU9L65fm6rynMpCnNQ-M_B9zMMw@mail.gmail.com>
<CAKrd9eWsfgd9EZytBOrxBYyeTaNjPhFO6O5qv-K4ODf9bSDvVw@mail.gmail.com>
<CAKrd9eXJH6VQPBTLCayat47Dch8BWmhz3gzYtcSv-6unHb8QMQ@mail.gmail.com>
<CAKrd9eW-HUqUTRkaeeC0jaeRjrgRmVhXVfiG0b_0tvgXLuTteg@mail.gmail.com>
<CAJ-VmonJcSVs+t0jziUyeH1JMztWchObQmb3NrJ0frVq62nhDg@mail.gmail.com>
<CAKrd9eV4-KNwgZGsRq1JRY31V8Dvmt2RLHSn4TKgbHTUxOJFfA@mail.gmail.com>
<CAJ-Vmo=pt7Cv9TRmcB+FHB_otz-2Jy6HbJgSZ5JfH+S3qcf8uA@mail.gmail.com>
In-Reply-To: <CAJ-Vmo=pt7Cv9TRmcB+FHB_otz-2Jy6HbJgSZ5JfH+S3qcf8uA@mail.gmail.com>
Content-Type: multipart/mixed; boundary="------------090509080502000108040303"
Cc: freebsd-arm <freebsd-arm@freebsd.org>, 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." <freebsd-wireless.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/freebsd-wireless>,
<mailto:freebsd-wireless-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-wireless>
List-Post: <mailto:freebsd-wireless@freebsd.org>
List-Help: <mailto:freebsd-wireless-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-wireless>,
<mailto:freebsd-wireless-request@freebsd.org?subject=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--
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?zarafa.51f4e2f5.7061.5a3556077ab376ad>
