Re: [PATCH 1/1] usb: usleep_range is preferred over udelay where wakeup is flexible

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

 



Ok then,
This might be the final lower and upper limit value.

Sunny Kumar

On Wed, Jun 24, 2015 at 12:24:29PM +0530, Sunny Kumar wrote:
> According to Documentation/timers/timers-howto.txt"
> udelay() is only called once from a place where sleeping is allowed.
> We can replace it with a call to usleep_range()
> with a reasonable upper limit.
> 
> Signed-off-by: Sunny Kumar <sunny.kumar.roy@xxxxxxxxx>
> ---
>  drivers/usb/storage/transport.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c
> index 540add2..7cd45ac 100644
> --- a/drivers/usb/storage/transport.c
> +++ b/drivers/usb/storage/transport.c
> @@ -1111,7 +1111,7 @@ int usb_stor_Bulk_transport(struct scsi_cmnd *srb, struct us_data *us)
>  	 * command phase and the data phase.  Some devices need a little
>  	 * more than that, probably because of clock rate inaccuracies. */
>  	if (unlikely(us->fflags & US_FL_GO_SLOW))
> -		udelay(125);
> +		usleep_range(100, 125);
>  
>  	if (transfer_length) {
>  		unsigned int pipe = srb->sc_data_direction == DMA_FROM_DEVICE ? 
> -- 
> 2.1.4
> 
>From 62bc3514ec4da51e7e766199d00de0594b17d23b Mon Sep 17 00:00:00 2001
From: Sunny Kumar <sunny.kumar.roy@xxxxxxxxx>
Date: Wed, 24 Jun 2015 21:07:18 +0530
Subject: [PATCH 1/1] usb: usleep_range is preferred over udelay where wakeup
 is flexible

According to Documentation/timers/timers-howto.txt"
udelay() is only called once from a place where sleeping is allowed.
We can replace it with a call to usleep_range()
with a reasonable upper limit.

Signed-off-by: Sunny Kumar <sunny.kumar.roy@xxxxxxxxx>
---
 drivers/usb/storage/transport.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c
index 540add2..5e67f63 100644
--- a/drivers/usb/storage/transport.c
+++ b/drivers/usb/storage/transport.c
@@ -1111,7 +1111,7 @@ int usb_stor_Bulk_transport(struct scsi_cmnd *srb, struct us_data *us)
 	 * command phase and the data phase.  Some devices need a little
 	 * more than that, probably because of clock rate inaccuracies. */
 	if (unlikely(us->fflags & US_FL_GO_SLOW))
-		udelay(125);
+		usleep_range(125, 150);
 
 	if (transfer_length) {
 		unsigned int pipe = srb->sc_data_direction == DMA_FROM_DEVICE ? 
-- 
1.9.1


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

  Powered by Linux