Re: [PATCH] usb: chipidea: fix return value check in ci_hdrc_pci_probe()

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

 



On Sat, Feb 06, 2016 at 10:57:06PM +0800, weiyj_lk@xxxxxxx wrote:
> From: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
> 
> In case of error, the function usb_phy_generic_register()
> returns ERR_PTR() and never returns NULL. The NULL test in
> the return value check should be replaced with IS_ERR().
> 
> Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx>
> ---
>  drivers/usb/chipidea/ci_hdrc_pci.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/chipidea/ci_hdrc_pci.c b/drivers/usb/chipidea/ci_hdrc_pci.c
> index b59195e..b635ab6 100644
> --- a/drivers/usb/chipidea/ci_hdrc_pci.c
> +++ b/drivers/usb/chipidea/ci_hdrc_pci.c
> @@ -85,8 +85,8 @@ static int ci_hdrc_pci_probe(struct pci_dev *pdev,
>  
>  	/* register a nop PHY */
>  	ci->phy = usb_phy_generic_register();
> -	if (!ci->phy)
> -		return -ENOMEM;
> +	if (IS_ERR(ci->phy))
> +		return PTR_ERR(ci->phy);
>  
>  	memset(res, 0, sizeof(res));
>  	res[0].start	= pci_resource_start(pdev, 0);
> 

The original code has several issues:
First, usb_phy_generic_register returns pointers of platform_device
Second, the generic USB PHY driver is related to struct usb_phy, but
not struct phy.
So, in this code, it needs to use ci->usb_phy to get the pointer
of struct usb_phy used at generic USB PHY driver.

Would you mind sending the patches to fix them?

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux