rt2x00: Start bugging when rt2x00lib doesn't filter SW diversity
rt2x00lib should filter SW diversity out before sending any configuration changes to the driver. When rt2x00lib fails to do this, it is important that such events are reported because it _must_ be fixed. So upgrading the error level to a BUG_ON() which will make sure this bug gets noticed whenever it happens. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
a7f3a06cbb
commit
a4fe07d913
@@ -444,6 +444,13 @@ static void rt2500pci_config_antenna(struct rt2x00_dev *rt2x00dev,
|
||||
u8 r14;
|
||||
u8 r2;
|
||||
|
||||
/*
|
||||
* We should never come here because rt2x00lib is supposed
|
||||
* to catch this and send us the correct antenna explicitely.
|
||||
*/
|
||||
BUG_ON(ant->rx == ANTENNA_SW_DIVERSITY ||
|
||||
ant->tx == ANTENNA_SW_DIVERSITY);
|
||||
|
||||
rt2x00pci_register_read(rt2x00dev, BBPCSR1, ®);
|
||||
rt2500pci_bbp_read(rt2x00dev, 14, &r14);
|
||||
rt2500pci_bbp_read(rt2x00dev, 2, &r2);
|
||||
@@ -457,15 +464,8 @@ static void rt2500pci_config_antenna(struct rt2x00_dev *rt2x00dev,
|
||||
rt2x00_set_field32(®, BBPCSR1_CCK, 0);
|
||||
rt2x00_set_field32(®, BBPCSR1_OFDM, 0);
|
||||
break;
|
||||
case ANTENNA_HW_DIVERSITY:
|
||||
case ANTENNA_SW_DIVERSITY:
|
||||
/*
|
||||
* NOTE: We should never come here because rt2x00lib is
|
||||
* supposed to catch this and send us the correct antenna
|
||||
* explicitely. However we are nog going to bug about this.
|
||||
* Instead, just default to antenna B.
|
||||
*/
|
||||
case ANTENNA_B:
|
||||
default:
|
||||
rt2x00_set_field8(&r2, BBP_R2_TX_ANTENNA, 2);
|
||||
rt2x00_set_field32(®, BBPCSR1_CCK, 2);
|
||||
rt2x00_set_field32(®, BBPCSR1_OFDM, 2);
|
||||
@@ -479,15 +479,8 @@ static void rt2500pci_config_antenna(struct rt2x00_dev *rt2x00dev,
|
||||
case ANTENNA_A:
|
||||
rt2x00_set_field8(&r14, BBP_R14_RX_ANTENNA, 0);
|
||||
break;
|
||||
case ANTENNA_HW_DIVERSITY:
|
||||
case ANTENNA_SW_DIVERSITY:
|
||||
/*
|
||||
* NOTE: We should never come here because rt2x00lib is
|
||||
* supposed to catch this and send us the correct antenna
|
||||
* explicitely. However we are nog going to bug about this.
|
||||
* Instead, just default to antenna B.
|
||||
*/
|
||||
case ANTENNA_B:
|
||||
default:
|
||||
rt2x00_set_field8(&r14, BBP_R14_RX_ANTENNA, 2);
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user