linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [bug report] usb: isp1760: move to regmap for register access
@ 2021-07-26  7:17 Dan Carpenter
  2021-07-26  9:31 ` Rui Miguel Silva
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2021-07-26  7:17 UTC (permalink / raw)
  To: rui.silva; +Cc: linux-usb

Hello Rui Miguel Silva,

The patch 1da9e1c06873: "usb: isp1760: move to regmap for register
access" from May 13, 2021, leads to the following static checker
warning:

	drivers/usb/isp1760/isp1760-hcd.c:264 isp1760_hcd_set_and_wait_swap()
	warn: sleeping in atomic context

drivers/usb/isp1760/isp1760-hcd.c
    256 static int isp1760_hcd_set_and_wait_swap(struct usb_hcd *hcd, u32 field,
    257 					 u32 timeout_us)
    258 {
    259 	struct isp1760_hcd *priv = hcd_to_priv(hcd);
    260 	u32 val;
    261 
    262 	isp1760_hcd_set(hcd, field);
    263 
--> 264 	return regmap_field_read_poll_timeout(priv->fields[field], val,
    265 					      !val, 10, timeout_us);
                                                            ^^
This used to call something else but it was still a sleep function.

The call tree is:
  --> isp1760_stop() <-- takes a spinlock
      --> ehci_reset()
          --> isp1760_hcd_set_and_wait_swap()

    266 }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [bug report] usb: isp1760: move to regmap for register access
  2021-07-26  7:17 [bug report] usb: isp1760: move to regmap for register access Dan Carpenter
@ 2021-07-26  9:31 ` Rui Miguel Silva
  0 siblings, 0 replies; 2+ messages in thread
From: Rui Miguel Silva @ 2021-07-26  9:31 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-usb

Hi Dan,
On Mon Jul 26, 2021 at 8:17 AM WEST, Dan Carpenter wrote:

> Hello Rui Miguel Silva,
>
> The patch 1da9e1c06873: "usb: isp1760: move to regmap for register
> access" from May 13, 2021, leads to the following static checker
> warning:
>
> 	drivers/usb/isp1760/isp1760-hcd.c:264 isp1760_hcd_set_and_wait_swap()
> 	warn: sleeping in atomic context
>
> drivers/usb/isp1760/isp1760-hcd.c
>     256 static int isp1760_hcd_set_and_wait_swap(struct usb_hcd *hcd, u32 field,
>     257 					 u32 timeout_us)
>     258 {
>     259 	struct isp1760_hcd *priv = hcd_to_priv(hcd);
>     260 	u32 val;
>     261 
>     262 	isp1760_hcd_set(hcd, field);
>     263 
> --> 264 	return regmap_field_read_poll_timeout(priv->fields[field], val,
>     265 					      !val, 10, timeout_us);
>                                                             ^^
> This used to call something else but it was still a sleep function.
>
> The call tree is:
>   --> isp1760_stop() <-- takes a spinlock
>       --> ehci_reset()
>           --> isp1760_hcd_set_and_wait_swap()

Thanks for both reports, I will send fix for this soon.

------
Cheers,
     Rui

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-07-26  9:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-26  7:17 [bug report] usb: isp1760: move to regmap for register access Dan Carpenter
2021-07-26  9:31 ` Rui Miguel Silva

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).