summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/ic/ral.c9
-rw-r--r--sys/dev/usb/if_ral.c9
2 files changed, 14 insertions, 4 deletions
diff --git a/sys/dev/ic/ral.c b/sys/dev/ic/ral.c
index b84af1c3773..8fadafa3c82 100644
--- a/sys/dev/ic/ral.c
+++ b/sys/dev/ic/ral.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ral.c,v 1.50 2005/05/13 19:00:07 damien Exp $ */
+/* $OpenBSD: ral.c,v 1.51 2005/05/13 19:13:09 damien Exp $ */
/*-
* Copyright (c) 2005
@@ -1782,8 +1782,13 @@ ral_tx_data(struct ral_softc *sc, struct mbuf *m0, struct ieee80211_node *ni)
wh = mtod(m0, struct ieee80211_frame *);
+ /* XXX this should be reworked! */
if (ic->ic_fixed_rate != -1) {
- rs = &ic->ic_sup_rates[ic->ic_curmode];
+ if (ic->ic_curmode != IEEE80211_MODE_AUTO)
+ rs = &ic->ic_sup_rates[ic->ic_curmode];
+ else
+ rs = &ic->ic_sup_rates[IEEE80211_MODE_11G];
+
rate = rs->rs_rates[ic->ic_fixed_rate];
} else {
rs = &ni->ni_rates;
diff --git a/sys/dev/usb/if_ral.c b/sys/dev/usb/if_ral.c
index 262a76d2f4b..09f73638ed4 100644
--- a/sys/dev/usb/if_ral.c
+++ b/sys/dev/usb/if_ral.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ral.c,v 1.31 2005/05/13 19:00:10 damien Exp $ */
+/* $OpenBSD: if_ral.c,v 1.32 2005/05/13 19:13:11 damien Exp $ */
/*-
* Copyright (c) 2005
@@ -1229,8 +1229,13 @@ ural_tx_data(struct ural_softc *sc, struct mbuf *m0, struct ieee80211_node *ni)
usbd_status error;
int xferlen, rate;
+ /* XXX this should be reworked! */
if (ic->ic_fixed_rate != -1) {
- rs = &ic->ic_sup_rates[ic->ic_curmode];
+ if (ic->ic_curmode != IEEE80211_MODE_AUTO)
+ rs = &ic->ic_sup_rates[ic->ic_curmode];
+ else
+ rs = &ic->ic_sup_rates[IEEE80211_MODE_11G];
+
rate = rs->rs_rates[ic->ic_fixed_rate];
} else {
rs = &ni->ni_rates;