aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2500pci.c
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2007-11-12 09:02:22 -0500
committerJohn W. Linville <linville@tuxdriver.com>2007-11-14 21:21:15 -0500
commit755a957d407c3fcac58360d9309b1664078ac15d (patch)
tree8668e7d54a6af0b2a843abad255972a2dc84bc81 /drivers/net/wireless/rt2x00/rt2500pci.c
parent14577f239fe5193d556ef1471c8667dabd556418 (diff)
rt2x00: Fix chipset revision validation
The validation of the chipset revision was broken since for rt2500usb and rt73usb different registers should be read. When rt2500usb was loaded for a rt73 device it would false think the chipset was correct because the wrong register was read and validated. This has been fixed by expanding the check to also see if the first 4 bits of the revision is not-0 (When reading the wrong register offset the returned value is usually 0 which can be interpreted as invalid) Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2500pci.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2500pci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c
index ff2d63267b19..702321c30164 100644
--- a/drivers/net/wireless/rt2x00/rt2500pci.c
+++ b/drivers/net/wireless/rt2x00/rt2500pci.c
@@ -620,7 +620,7 @@ static void rt2500pci_link_tuner(struct rt2x00_dev *rt2x00dev)
620 * up to version C the link tuning should halt after 20 620 * up to version C the link tuning should halt after 20
621 * seconds. 621 * seconds.
622 */ 622 */
623 if (rt2x00_get_rev(&rt2x00dev->chip) < RT2560_VERSION_D && 623 if (rt2x00_rev(&rt2x00dev->chip) < RT2560_VERSION_D &&
624 rt2x00dev->link.count > 20) 624 rt2x00dev->link.count > 20)
625 return; 625 return;
626 626
@@ -630,7 +630,7 @@ static void rt2500pci_link_tuner(struct rt2x00_dev *rt2x00dev)
630 * Chipset versions C and lower should directly continue 630 * Chipset versions C and lower should directly continue
631 * to the dynamic CCA tuning. 631 * to the dynamic CCA tuning.
632 */ 632 */
633 if (rt2x00_get_rev(&rt2x00dev->chip) < RT2560_VERSION_D) 633 if (rt2x00_rev(&rt2x00dev->chip) < RT2560_VERSION_D)
634 goto dynamic_cca_tune; 634 goto dynamic_cca_tune;
635 635
636 /* 636 /*