aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt73usb.c
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2007-10-13 10:26:27 -0400
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:02:52 -0500
commit39e75857d08fe35ffad4dd9004580acf0d725b75 (patch)
treeda50bf796ebbabb31d1fa889a396138e8c3ae8ea /drivers/net/wireless/rt2x00/rt73usb.c
parentaddc81bd428f9eb29ed2ab64ad4039c6aed55aea (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.c16
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);