On Tue, Jul 27, 2010 at 4:48 PM, Stanislaw Gruszka <sgruszka@xxxxxxxxxx> wrote: > On our hardware (050d:7050 Belkin Components F5D7050 Wireless G Adapter), > setting any WEP key with non zero index, cause rx frames corruption. > > Note: perhaps (I did not check) this can be fixed differently - by using > hw_key_idx the same as true MAC key index. But according to the comment in > rt2x00mac_set_key(): > > "the hardware requires keys to be assigned in correct order (When key 1 > is provided but key 0 is not, then the key is not found by the hardware > during RX)" > > this will be quite problematic. Since WEP should not be used, disabling > hardware crypto offload for it will not hurt much. Beside static > one key WEP will still be offloaded. > > Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Acked-by: Ivo van Doorn <IvDoorn@xxxxxxxxx> > --- > drivers/net/wireless/rt2x00/rt2500usb.c | 8 ++++++++ > 1 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c > index 3028abb..bf059cd 100644 > --- a/drivers/net/wireless/rt2x00/rt2500usb.c > +++ b/drivers/net/wireless/rt2x00/rt2500usb.c > @@ -351,6 +351,14 @@ static int rt2500usb_config_key(struct rt2x00_dev *rt2x00dev, > > if (crypto->cmd == SET_KEY) { > /* > + * Disallow to set WEP key other than with index 0, > + * it is known that not work at least on some hardware. > + * SW crypto will be used in that case. > + */ > + if (key->alg == ALG_WEP && key->keyidx != 0) > + return -EOPNOTSUPP; > + > + /* > * Pairwise key will always be entry 0, but this > * could collide with a shared key on the same > * position... > -- > 1.7.1 > > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html