Re: [PATCH] usb: phy: msm: Unregister driver interest for VBUS and ID events

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/18/2015 12:56 AM, Ivan T. Ivanov wrote:
> Right now even if driver failed to probe extcon framework will
> still deliver its VBUS and ID events, which will lead to random
> exception codes.
> 
> Fix this by removing driver interest for VBUS and ID events when
> probe fail.
> 
> Fixes: 591fc116f330 ("usb: phy: msm: Use extcon framework for VBUS and ID detection")
> 
> Reported-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx>
> Signed-off-by: Ivan T. Ivanov <ivan.ivanov@xxxxxxxxxx>
> ---
>  drivers/usb/phy/phy-msm-usb.c | 26 +++++++++++++++++---------
>  1 file changed, 17 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c
> index 00c49bb1bd29..a9082567f114 100644
> --- a/drivers/usb/phy/phy-msm-usb.c
> +++ b/drivers/usb/phy/phy-msm-usb.c
> @@ -1581,6 +1581,8 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg)
>  		ret = extcon_register_interest(&motg->id.conn, ext_id->name,
>  					       "USB-HOST", &motg->id.nb);
>  		if (ret < 0) {
> +			if (!IS_ERR(ext_vbus))
> +				extcon_unregister_interest(&motg->vbus.conn);
>  			dev_err(&pdev->dev, "register ID notifier failed\n");
>  			return ret;
>  		}
...

This patch is obsoleted by commit 83b7b67c7, which changes the extcon API
a bit (from register_interest to register_notifier, among other things).

But, in general, I would expect this approach to work.

Do you want me to re-spin this with the new API?
 -- Tim


--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux