-/* $OpenBSD: if_iwm.c,v 1.98 2016/08/15 12:59:53 stsp Exp $ */
+/* $OpenBSD: if_iwm.c,v 1.99 2016/08/17 09:39:38 stsp Exp $ */
/*
* Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
flags |= IWM_TX_CMD_FLG_ACK;
}
- if (type == IEEE80211_FC0_TYPE_DATA
- && (totlen + IEEE80211_CRC_LEN > ic->ic_rtsthreshold)
- && !IEEE80211_IS_MULTICAST(wh->i_addr1)) {
+ if (type == IEEE80211_FC0_TYPE_DATA &&
+ !IEEE80211_IS_MULTICAST(wh->i_addr1) &&
+ (totlen + IEEE80211_CRC_LEN > ic->ic_rtsthreshold ||
+ (ic->ic_flags & IEEE80211_F_USEPROT)))
flags |= IWM_TX_CMD_FLG_PROT_REQUIRE;
- }
if (IEEE80211_IS_MULTICAST(wh->i_addr1) ||
type != IEEE80211_FC0_TYPE_DATA)