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