[Xenial][Patch] UBUNTU: SAUCE: mwifiex: Use PCI ID instead of DMI ID to identify Edge Gateways

Seth Forshee seth.forshee at canonical.com
Wed Nov 9 13:34:04 UTC 2016


On Wed, Nov 09, 2016 at 07:03: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 | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/mwifiex/pcie.c b/drivers/net/wireless/mwifiex/pcie.c
> index 0dbb528..644e28f7 100644
> --- a/drivers/net/wireless/mwifiex/pcie.c
> +++ b/drivers/net/wireless/mwifiex/pcie.c
> @@ -219,8 +219,8 @@ 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"))
> +	if (pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID, 0x1028, 0x0720, NULL) ||
> +		pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID, 0x1028, 0x0733, NULL))
>  		priv->is_edge_gateway = true;
>  	return 0;
>  }

pci_get_subsys() increments the device refcount, so don't you have a
resource leak here?




More information about the kernel-team mailing list