diff options
author | Ivo van Doorn <ivdoorn@gmail.com> | 2007-10-13 10:26:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:02:52 -0500 |
commit | 39e75857d08fe35ffad4dd9004580acf0d725b75 (patch) | |
tree | da50bf796ebbabb31d1fa889a396138e8c3ae8ea /drivers/net/wireless/rt2x00/rt73usb.c | |
parent | addc81bd428f9eb29ed2ab64ad4039c6aed55aea (diff) |
[PATCH] rt2x00: SW diversity should default to antenna B
Although ANTENNA_SW_DIVERSITY should never be send
to the driver, we should still handle it to prevent bugs.
But instead of defaulting to ANTENNA_HW_DIVERSITY we
should default to ANTENNA_B instead.
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt73usb.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt73usb.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c index 92c78968a0b9..18324210c13a 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.c +++ b/drivers/net/wireless/rt2x00/rt73usb.c | |||
@@ -409,7 +409,6 @@ static void rt73usb_config_antenna_5x(struct rt2x00_dev *rt2x00dev, | |||
409 | rt2x00_set_field8(&r3, BBP_R3_SMART_MODE, 0); | 409 | rt2x00_set_field8(&r3, BBP_R3_SMART_MODE, 0); |
410 | 410 | ||
411 | switch (ant->rx) { | 411 | switch (ant->rx) { |
412 | case ANTENNA_SW_DIVERSITY: | ||
413 | case ANTENNA_HW_DIVERSITY: | 412 | case ANTENNA_HW_DIVERSITY: |
414 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 2); | 413 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 2); |
415 | rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, | 414 | rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, |
@@ -424,6 +423,13 @@ static void rt73usb_config_antenna_5x(struct rt2x00_dev *rt2x00dev, | |||
424 | else | 423 | else |
425 | rt2x00_set_field8(&r77, BBP_R77_PAIR, 3); | 424 | rt2x00_set_field8(&r77, BBP_R77_PAIR, 3); |
426 | break; | 425 | break; |
426 | case ANTENNA_SW_DIVERSITY: | ||
427 | /* | ||
428 | * NOTE: We should never come here because rt2x00lib is | ||
429 | * supposed to catch this and send us the correct antenna | ||
430 | * explicitely. However we are nog going to bug about this. | ||
431 | * Instead, just default to antenna B. | ||
432 | */ | ||
427 | case ANTENNA_B: | 433 | case ANTENNA_B: |
428 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 1); | 434 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 1); |
429 | rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, 0); | 435 | rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, 0); |
@@ -456,7 +462,6 @@ static void rt73usb_config_antenna_2x(struct rt2x00_dev *rt2x00dev, | |||
456 | !test_bit(CONFIG_FRAME_TYPE, &rt2x00dev->flags)); | 462 | !test_bit(CONFIG_FRAME_TYPE, &rt2x00dev->flags)); |
457 | 463 | ||
458 | switch (ant->rx) { | 464 | switch (ant->rx) { |
459 | case ANTENNA_SW_DIVERSITY: | ||
460 | case ANTENNA_HW_DIVERSITY: | 465 | case ANTENNA_HW_DIVERSITY: |
461 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 2); | 466 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 2); |
462 | break; | 467 | break; |
@@ -464,6 +469,13 @@ static void rt73usb_config_antenna_2x(struct rt2x00_dev *rt2x00dev, | |||
464 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 1); | 469 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 1); |
465 | rt2x00_set_field8(&r77, BBP_R77_PAIR, 3); | 470 | rt2x00_set_field8(&r77, BBP_R77_PAIR, 3); |
466 | break; | 471 | break; |
472 | case ANTENNA_SW_DIVERSITY: | ||
473 | /* | ||
474 | * NOTE: We should never come here because rt2x00lib is | ||
475 | * supposed to catch this and send us the correct antenna | ||
476 | * explicitely. However we are nog going to bug about this. | ||
477 | * Instead, just default to antenna B. | ||
478 | */ | ||
467 | case ANTENNA_B: | 479 | case ANTENNA_B: |
468 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 1); | 480 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA, 1); |
469 | rt2x00_set_field8(&r77, BBP_R77_PAIR, 0); | 481 | rt2x00_set_field8(&r77, BBP_R77_PAIR, 0); |