From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergei Shtylyov Subject: Re: [net 2/2] igb: Fix for issue where values could be too high for udelay function. Date: Sun, 15 Dec 2013 22:52:37 +0300 Message-ID: <52AE0885.4030906@cogentembedded.com> References: <1387020406-7964-1-git-send-email-jeffrey.t.kirsher@intel.com> <1387020406-7964-2-git-send-email-jeffrey.t.kirsher@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Jeff Kirsher , netdev@vger.kernel.org, gospo@redhat.com, sassmann@redhat.com, stable@vger.kernel.org, sunil.k.pandey@intel.com, kevin.b.smith@intel.com To: davem@davemloft.net, Carolyn Wyborny Return-path: In-Reply-To: <1387020406-7964-2-git-send-email-jeffrey.t.kirsher@intel.com> Sender: stable-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Hello. On 12/14/2013 02:26 PM, Jeff Kirsher wrote: > From: Carolyn Wyborny > This patch changes the igb_phy_has_link function to check the value of the > parameter before deciding to use udelay or mdelay in order to be sure that > the value is not too high for udelay function. > CC: stable kernel # 3.9+ > Signed-off-by: Sunil K Pandey > Signed-off-by: Kevin B Smith > Signed-off-by: Carolyn Wyborny > Tested-by: Aaron Brown > Signed-off-by: Jeff Kirsher > --- > drivers/net/ethernet/intel/igb/e1000_phy.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > diff --git a/drivers/net/ethernet/intel/igb/e1000_phy.c b/drivers/net/ethernet/intel/igb/e1000_phy.c > index c4c4fe3..ad2b74d 100644 > --- a/drivers/net/ethernet/intel/igb/e1000_phy.c > +++ b/drivers/net/ethernet/intel/igb/e1000_phy.c > @@ -1728,7 +1728,10 @@ s32 igb_phy_has_link(struct e1000_hw *hw, u32 iterations, > * ownership of the resources, wait and try again to > * see if they have relinquished the resources yet. > */ > - udelay(usec_interval); > + if (usec_interval >= 1000) > + mdelay(usec_interval/1000); There should be spaces around / at least for consistency with the previous line. Also, are you sure it shouldn't be mdelay(DIV_ROUND_UP(usec_interval, 1000))? WBR, Sergei