summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2018-05-23 09:08:18 +0000
committerpatrick <patrick@openbsd.org>2018-05-23 09:08:18 +0000
commit680c8428993c3851a1e6be3043002bb9be265db2 (patch)
tree0345b2829dc353fa80e8d6e78c941c9fdc635265
parentEnable bwfm(4). (diff)
downloadwireguard-openbsd-680c8428993c3851a1e6be3043002bb9be265db2.tar.xz
wireguard-openbsd-680c8428993c3851a1e6be3043002bb9be265db2.zip
Extend list of supported bwfm(4) SDIO chips.
-rw-r--r--sys/dev/sdmmc/if_bwfm_sdio.c28
1 files changed, 24 insertions, 4 deletions
diff --git a/sys/dev/sdmmc/if_bwfm_sdio.c b/sys/dev/sdmmc/if_bwfm_sdio.c
index 85c25e5e9f9..5334b087f1d 100644
--- a/sys/dev/sdmmc/if_bwfm_sdio.c
+++ b/sys/dev/sdmmc/if_bwfm_sdio.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_bwfm_sdio.c,v 1.13 2018/05/21 08:07:43 patrick Exp $ */
+/* $OpenBSD: if_bwfm_sdio.c,v 1.14 2018/05/23 09:08:18 patrick Exp $ */
/*
* Copyright (c) 2010-2016 Broadcom Corporation
* Copyright (c) 2016,2017 Patrick Wildt <patrick@blueri.se>
@@ -191,12 +191,32 @@ bwfm_sdio_match(struct device *parent, void *match, void *aux)
if (sf == NULL)
return 0;
- /* Look for Broadcom 433[04]. */
+ /* Look for Broadcom. */
cis = &sf->sc->sc_fn0->cis;
- if (cis->manufacturer != 0x02d0 || (cis->product != 0x4330 &&
- cis->product != 0x4334))
+ if (cis->manufacturer != 0x02d0)
return 0;
+ /* Look for supported chips. */
+ switch (cis->product) {
+ case 0x4324:
+ case 0x4330:
+ case 0x4334:
+ case 0x4329:
+ case 0x4335:
+ case 0x4339:
+ case 0x4345:
+ case 0x4354:
+ case 0x4356:
+ case 0xa887:
+ case 0xa94c:
+ case 0xa94d:
+ case 0xa962:
+ case 0xa9a6:
+ break;
+ default:
+ return 0;
+ }
+
/* We need both functions, but ... */
if (sf->sc->sc_function_count <= 1)
return 0;