Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98e77d9f authored by Leon Romanovsky's avatar Leon Romanovsky Committed by Doug Ledford
Browse files

IB: Convert msleep below 20ms to usleep_range

The msleep(1) may do not sleep 1 ms as expected
and will sleep longer. The simple conversion from
msleep to usleep_range between 1ms and 2ms can solve an
issue.

The full and comprehensive explanation can be found at [1] and [2].

[1] https://lkml.org/lkml/2007/8/3/250


[2] Documentation/timers/timers-howto.txt

Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Reviewed-by: default avatarErez Shitrit <erezsh@mellanox.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent f7c8f2e9
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -995,7 +995,8 @@ static void hns_roce_v1_mr_free_work_fn(struct work_struct *work)
			goto free_work;
		}
		ne -= ret;
		msleep(HNS_ROCE_V1_FREE_MR_WAIT_VALUE);
		usleep_range(HNS_ROCE_V1_FREE_MR_WAIT_VALUE * 1000,
			     (1 + HNS_ROCE_V1_FREE_MR_WAIT_VALUE) * 1000);
	} while (ne && time_before_eq(jiffies, end));

	if (ne != 0)
+1 −1
Original line number Diff line number Diff line
@@ -1155,7 +1155,7 @@ static void mlx4_ib_disassociate_ucontext(struct ib_ucontext *ibcontext)
			 * call to mlx4_ib_vma_close.
			 */
			put_task_struct(owning_process);
			msleep(1);
			usleep_range(1000, 2000);
			owning_process = get_pid_task(ibcontext->tgid,
						      PIDTYPE_PID);
			if (!owning_process ||
+1 −1
Original line number Diff line number Diff line
@@ -1091,7 +1091,7 @@ static void _mlx4_ib_mcg_port_cleanup(struct mlx4_ib_demux_ctx *ctx, int destroy
		if (!count)
			break;

		msleep(1);
		usleep_range(1000, 2000);
	} while (time_after(end, jiffies));

	flush_workqueue(ctx->mcg_wq);
+2 −2
Original line number Diff line number Diff line
@@ -551,7 +551,7 @@ struct nes_adapter *nes_init_adapter(struct nes_device *nesdev, u8 hw_rev) {
			if ((0x0F000100 == (pcs_control_status0 & 0x0F000100))
			    || (0x0F000100 == (pcs_control_status1 & 0x0F000100)))
				int_cnt++;
			msleep(1);
			usleep_range(1000, 2000);
		}
		if (int_cnt > 1) {
			spin_lock_irqsave(&nesadapter->phy_lock, flags);
@@ -592,7 +592,7 @@ struct nes_adapter *nes_init_adapter(struct nes_device *nesdev, u8 hw_rev) {
						break;
					}
				}
				msleep(1);
				usleep_range(1000, 2000);
			}
		}
	}
+2 −2
Original line number Diff line number Diff line
@@ -954,7 +954,7 @@ void ipoib_cm_dev_stop(struct net_device *dev)
			break;
		}
		spin_unlock_irq(&priv->lock);
		msleep(1);
		usleep_range(1000, 2000);
		ipoib_drain_cq(dev);
		spin_lock_irq(&priv->lock);
	}
@@ -1206,7 +1206,7 @@ static void ipoib_cm_tx_destroy(struct ipoib_cm_tx *p)
				goto timeout;
			}

			msleep(1);
			usleep_range(1000, 2000);
		}
	}

Loading