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