aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorBill Paul <wpaul@FreeBSD.org>2000-04-17 18:47:28 +0000
committerBill Paul <wpaul@FreeBSD.org>2000-04-17 18:47:28 +0000
commit339dabccd7928ea4573fdec0e15032468cf4d8dd (patch)
treea958e6f0197035c9da121a39c82c227600c4b181 /sys/dev
parent2a70f2122a7040c4d26a628efd2ee3a464202779 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/wi/if_wi.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/wi/if_wi.c b/sys/dev/wi/if_wi.c
index a75353ebae3b..0cb88a464ed8 100644
--- a/sys/dev/wi/if_wi.c
+++ b/sys/dev/wi/if_wi.c
@@ -391,8 +391,13 @@ static void wi_rxeof(sc)
bcopy((char *)&rx_frame.wi_addr1,
(char *)&eh->ether_dhost, ETHER_ADDR_LEN);
- bcopy((char *)&rx_frame.wi_addr2,
- (char *)&eh->ether_shost, ETHER_ADDR_LEN);
+ if (sc->wi_ptype == WI_PORTTYPE_ADHOC) {
+ bcopy((char *)&rx_frame.wi_addr2,
+ (char *)&eh->ether_shost, ETHER_ADDR_LEN);
+ } else {
+ bcopy((char *)&rx_frame.wi_addr3,
+ (char *)&eh->ether_shost, ETHER_ADDR_LEN);
+ }
bcopy((char *)&rx_frame.wi_type,
(char *)&eh->ether_type, sizeof(u_int16_t));