Re: [PATCH] usb: renesas_usbhs: fix signed-unsigned return

From: Sudip Mukherjee
Date: Thu Apr 14 2016 - 11:51:10 EST


On Thursday 14 April 2016 04:25 PM, Felipe Balbi wrote:

Hi,

Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> writes:
From: Sudip Mukherjee
Sent: Saturday, April 09, 2016 12:05 AM

The return type of usbhsp_setup_pipecfg() was u16 but it was returning
a negative value (-EINVAL). Instead lets return a pointer to u16 which
will hold the value to be returned or in case of error, return the
error code in ERR_PTR.

Thank you for the patch!
I also think this usbhsp_setup_pipecfg() should return error code using correct variable type.

However, I would like to avoid to use ERR_PTR and kmalloc() somehow because
I feel this patch is complex a little.
How about the usbhsp_setup_pipecfg() prototype is changed like the following?

static int usbhsp_setup_pipecfg(struct usbhs_pipe *pipe,
int is_host, int dir_in, u16 *pipecfg);

IMO, this makes much more sense.

Infact, I thought about both these ways while making the patch but somehow I thought this one is a better but ofcourse the other way is much simpler.
I will post v2.

regards
sudip