diff options
-rw-r--r-- | sys/dev/ic/ral.c | 9 | ||||
-rw-r--r-- | sys/dev/usb/if_ral.c | 9 |
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; |