From patchwork Wed Apr 11 15:39:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jia-Ju Bai X-Patchwork-Id: 897242 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="C//Rm2Lz"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40LpCK39qHz9s0x for ; Thu, 12 Apr 2018 01:40:29 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753639AbeDKPkC (ORCPT ); Wed, 11 Apr 2018 11:40:02 -0400 Received: from mail-pg0-f66.google.com ([74.125.83.66]:36685 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752852AbeDKPkA (ORCPT ); Wed, 11 Apr 2018 11:40:00 -0400 Received: by mail-pg0-f66.google.com with SMTP id d6so928588pgt.3; Wed, 11 Apr 2018 08:40:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=rzG3necApYUKaevlF61U8QCxcpY70A30gGVJutzPUtw=; b=C//Rm2LzFceWslzJ+QyjDuYDOriW4GRxEsf024f6TKBJEGY55ntidLwby2NFSsfZSH lw0cuxyy4VVK+STGBRXlrLYUsJgt1pe2BVByvNex0Tqc1QwHOX7eTxs03V0rZUiOSTZU U7b/LoVgXsQq1LKfhGKrvc5F5K150/8YcYgaZZ3s2LwBb6Zxmd190ZwcsNtPpnM+o1Y4 w+klukvxmaJBTdIue34+fbYQcaSQMULo3J3LP/+NT948d3fRFj73X8DNAwqgUdqwTtAM 82EUVrEk0pB75tLOTVGEMK8q2xOiwrlm3kt9Ma4/FQAHwlT2CWulqtnbzxVw3jyEy1wX AHSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=rzG3necApYUKaevlF61U8QCxcpY70A30gGVJutzPUtw=; b=Ip0/J6YnSx/71x6DzIcA+3RzyrF4YgXyIhqpgXJ2OyZVYPSfxWRZCwgSS9AYrUzGj4 NMRo/7MZtGew+/cgISw7E+lGp/7GZ9K4BWHgb2Zvt8n5FX0Pq+PejwT5/olL1gv41hnk +UXtQr0dgZgC7FM8DM5M+zIyS1cUX9wXczXyiEwUW/ga8ez1/AjD/enUNBC6vcPERCAR DCkfvw3w96y4MZFRlcMocwmY79LikvMC/G0K1rBRJFzbKyQK0NDxc7pJ2LOGEktw2f6V X4/J8a+r0qYG8iCA+qj3US2F4LKsJoo9BrG5OefBB2Fi5gPk5VNS39yx19uhKjATwuqY l/Uw== X-Gm-Message-State: ALQs6tBM2TVWnfSQ1CuyYJUViKGxbzMbkbhPDd2TKR1HsltZM3Tm0Jsq mI/5X0EYUXIm5ozWWOlh47o= X-Google-Smtp-Source: AIpwx49GprQ1IBGNtbrZfn8Lrf13ATM2xClsbftM9/IEmbSl0fWDVBPvEnnU3vjQ4Cl16IwJyel0Zw== X-Received: by 10.98.10.156 with SMTP id 28mr4493566pfk.33.1523461200246; Wed, 11 Apr 2018 08:40:00 -0700 (PDT) Received: from oslab.tsinghua.edu.cn ([2402:f000:1:4413:edc8:c1dd:b0a8:461d]) by smtp.gmail.com with ESMTPSA id l80sm4113687pfk.73.2018.04.11.08.39.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 11 Apr 2018 08:39:59 -0700 (PDT) From: Jia-Ju Bai To: davem@davemloft.net, stephen@networkplumber.org, johannes.berg@intel.com, arvind.yadav.cs@gmail.com, dhowells@redhat.com Cc: netdev@vger.kernel.org, linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org, Jia-Ju Bai Subject: [PATCH v2] dec: tulip: de4x5: Replace mdelay with usleep_range in de4x5_hw_init Date: Wed, 11 Apr 2018 23:39:42 +0800 Message-Id: <1523461182-5897-1-git-send-email-baijiaju1990@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org de4x5_hw_init() is never called in atomic context. de4x5_hw_init() is only called by de4x5_pci_probe(), which is only set as ".probe" in struct pci_driver. Despite never getting called from atomic context, de4x5_hw_init() calls mdelay() to busily wait. This is not necessary and can be replaced with usleep_range() to avoid busy waiting. This is found by a static analysis tool named DCNS written by myself. And I also manually check it. Signed-off-by: Jia-Ju Bai --- v2: * Use usleep_range() to correct usleep() in v1. --- drivers/net/ethernet/dec/tulip/de4x5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/dec/tulip/de4x5.c b/drivers/net/ethernet/dec/tulip/de4x5.c index 0affee9..3fb0119 100644 --- a/drivers/net/ethernet/dec/tulip/de4x5.c +++ b/drivers/net/ethernet/dec/tulip/de4x5.c @@ -1107,7 +1107,7 @@ static int (*dc_infoblock[])(struct net_device *dev, u_char, u_char *) = { pdev = to_pci_dev (gendev); pci_write_config_byte(pdev, PCI_CFDA_PSM, WAKEUP); } - mdelay(10); + usleep_range(10000, 11000); RESET_DE4X5;