Re: [PATCH 1/7] usb: renesas_usbhs: fixup struct completion usage

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

 



Hi,

On Sun, Oct 23, 2011 at 07:55:33PM -0700, Kuninori Morimoto wrote:
> Since renesas_usbhs mod_host didn't use
> struct completion as static object, the warning of lockdep came out.
> This patch fixup this issue.
> 
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> ---
>  drivers/usb/renesas_usbhs/mod_host.c |   22 +++++-----------------
>  1 files changed, 5 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/usb/renesas_usbhs/mod_host.c b/drivers/usb/renesas_usbhs/mod_host.c
> index 1a7208a..0d42015 100644
> --- a/drivers/usb/renesas_usbhs/mod_host.c
> +++ b/drivers/usb/renesas_usbhs/mod_host.c
> @@ -103,8 +103,6 @@ struct usbhsh_hpriv {
>  
>  	u32	port_stat;	/* USB_PORT_STAT_xxx */
>  
> -	struct completion	*done;
> -
>  	/* see usbhsh_req_alloc/free */
>  	struct list_head	ureq_link_active;
>  	struct list_head	ureq_link_free;
> @@ -522,6 +520,7 @@ static int usbhsh_queue_push(struct usb_hcd *hcd,
>  /*
>   *		DCP setup stage
>   */
> +static DECLARE_COMPLETION(setup_ack_done);

are you sure this is wise to do ? What happens if you ever end up with
two instances of this core on one SoC ?

I have been fighting a lot against static globals because that's a real
issue. We never thought there would ever be a device with multiple ports
but OTG3.0 has dropped the requirement of one port only and we have
devices (at least one from TI) with two device-side ports (well, those
ports are OTG-capable, in fact).

-- 
balbi

Attachment: signature.asc
Description: Digital signature


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

  Powered by Linux