aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/iwn
diff options
context:
space:
mode:
authorBernhard Schmidt <bschmidt@FreeBSD.org>2011-04-19 19:51:35 +0000
committerBernhard Schmidt <bschmidt@FreeBSD.org>2011-04-19 19:51:35 +0000
commitd37f258ba97864267e3c323ea588d12d39b7c61b (patch)
treef328e445b6a6a6ae9a2c06883f40e4483b79dc37 /sys/dev/iwn
parent9ff2129fbeb3d12da3e562cdecaef2cd776ce8bf (diff)
Notes
Diffstat (limited to 'sys/dev/iwn')
-rw-r--r--sys/dev/iwn/if_iwn.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c
index c1c3fb633242..92a3011745bb 100644
--- a/sys/dev/iwn/if_iwn.c
+++ b/sys/dev/iwn/if_iwn.c
@@ -809,6 +809,9 @@ iwn5000_attach(struct iwn_softc *sc, uint16_t pid)
case IWN_HW_REV_TYPE_6050:
sc->limits = &iwn6000_sensitivity_limits;
sc->fwname = "iwn6050fw";
+ /* Override chains masks, ROM is known to be broken. */
+ sc->txchainmask = IWN_ANT_AB;
+ sc->rxchainmask = IWN_ANT_AB;
break;
case IWN_HW_REV_TYPE_6005:
sc->limits = &iwn6000_sensitivity_limits;
@@ -2387,7 +2390,9 @@ iwn5000_rx_calib_results(struct iwn_softc *sc, struct iwn_rx_desc *desc,
switch (calib->code) {
case IWN5000_PHY_CALIB_DC:
- if (sc->hw_type == IWN_HW_REV_TYPE_5150)
+ if ((sc->sc_flags & IWN_FLAG_INTERNAL_PA) == 0 &&
+ (sc->hw_type == IWN_HW_REV_TYPE_5150 ||
+ sc->hw_type >= IWN_HW_REV_TYPE_6000))
idx = 0;
break;
case IWN5000_PHY_CALIB_LO: