aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mediatek/mt7601u/usb.c
diff options
context:
space:
mode:
authorStanislaw Gruszka <sgruszka@redhat.com>2019-03-07 13:22:07 +0100
committerKalle Valo <kvalo@codeaurora.org>2019-03-19 17:31:03 +0200
commitc0316470683af0507427c3e0660246feacdf8363 (patch)
tree924a8a146bd6b1bb5946b6f98d488ca24e4b82b6 /drivers/net/wireless/mediatek/mt7601u/usb.c
parentiwlwifi: fix 64-bit division (diff)
downloadlinux-dev-c0316470683af0507427c3e0660246feacdf8363.tar.xz
linux-dev-c0316470683af0507427c3e0660246feacdf8363.zip
mt7601u: check chip version on probe
Since some USB device IDs are duplicated between mt7601u and mt76x0u devices, check chip version on probe and return error if not match 0x7601. Don't think this is serious issue, probe most likely will fail at some other point for wrong device, but we do not have to configure it if we know is not mt7601u device. Reported-by: Xose Vazquez Perez <xose.vazquez@gmail.com> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Jakub Kicinski <kubakici@wp.pl> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to '')
-rw-r--r--drivers/net/wireless/mediatek/mt7601u/usb.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt7601u/usb.c b/drivers/net/wireless/mediatek/mt7601u/usb.c
index d8b7863f7926..6ae7f14dc9bf 100644
--- a/drivers/net/wireless/mediatek/mt7601u/usb.c
+++ b/drivers/net/wireless/mediatek/mt7601u/usb.c
@@ -303,6 +303,10 @@ static int mt7601u_probe(struct usb_interface *usb_intf,
mac_rev = mt7601u_rr(dev, MT_MAC_CSR0);
dev_info(dev->dev, "ASIC revision: %08x MAC revision: %08x\n",
asic_rev, mac_rev);
+ if ((asic_rev >> 16) != 0x7601) {
+ ret = -ENODEV;
+ goto err;
+ }
/* Note: vendor driver skips this check for MT7601U */
if (!(mt7601u_rr(dev, MT_EFUSE_CTRL) & MT_EFUSE_CTRL_SEL))