ACK: [Xenial][PATCH v2] UBUNTU: SAUCE: mwifiex: Use PCI ID instead of DMI ID to identify Edge Gateways
Seth Forshee
seth.forshee at canonical.com
Tue Nov 15 13:08:31 UTC 2016
On Mon, Nov 14, 2016 at 10:38:55PM +0800, jesse.sung at canonical.com wrote:
> From: Wen-chien Jesse Sung <jesse.sung at canonical.com>
>
> BugLink: https://launchpad.net/bugs/1640418
>
> The DMI ID string may be changed in some models. Use PCI ID as an
> indentification instead.
>
> Signed-off-by: Wen-chien Jesse Sung <jesse.sung at canonical.com>
> ---
> drivers/net/wireless/mwifiex/pcie.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/mwifiex/pcie.c b/drivers/net/wireless/mwifiex/pcie.c
> index 0dbb528..8922593 100644
> --- a/drivers/net/wireless/mwifiex/pcie.c
> +++ b/drivers/net/wireless/mwifiex/pcie.c
> @@ -191,6 +191,7 @@ static int mwifiex_pcie_probe(struct pci_dev *pdev,
> {
> struct pcie_service_card *card;
> struct mwifiex_private *priv;
> + struct pci_dev *pdev_host;
>
> pr_debug("info: vendor=0x%4.04X device=0x%4.04X rev=%d\n",
> pdev->vendor, pdev->device, pdev->revision);
> @@ -219,9 +220,13 @@ static int mwifiex_pcie_probe(struct pci_dev *pdev,
> }
>
> priv = mwifiex_get_priv(card->adapter, MWIFIEX_BSS_ROLE_STA);
> - if (dmi_match(DMI_PRODUCT_NAME, "Edge Gateway 5000") ||
> - dmi_match(DMI_PRODUCT_NAME, "Edge Gateway 5100"))
> + pdev_host = pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID, 0x1028, 0x0720, NULL);
> + if (!pdev_host)
> + pdev_host = pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID, 0x1028, 0x0733, NULL);
> + if (pdev_host) {
> priv->is_edge_gateway = true;
> + pci_dev_put(pdev_host);
> + }
> return 0;
> }
That looks better.
More information about the kernel-team
mailing list