From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5ADE5C43381 for ; Thu, 21 Feb 2019 00:07:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2903820880 for ; Thu, 21 Feb 2019 00:07:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="dv4WnbAm" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726816AbfBUAHp (ORCPT ); Wed, 20 Feb 2019 19:07:45 -0500 Received: from mail-pf1-f194.google.com ([209.85.210.194]:37312 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726773AbfBUAHn (ORCPT ); Wed, 20 Feb 2019 19:07:43 -0500 Received: by mail-pf1-f194.google.com with SMTP id s22so12772620pfh.4 for ; Wed, 20 Feb 2019 16:07:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Z0FLXAR5b0diAjkImCOjjuy+TAQ6QrT1gW96mIynRis=; b=dv4WnbAmjyvTx0juaiAiPCOPgFwmqH5VDT5O3IylrcBkR5iqXqifNcqKBzXPsNz6EO rvWwDUuY2HBAGHPOVy+Qeht05gvwLMh2EZqR+4FYzST0gsBpsdxfUNhZ6R4OFGiEtIUr htqVmMNbwLgD3d6HzRpl+MI6ojFvU6utKDDKc= 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:in-reply-to :references; bh=Z0FLXAR5b0diAjkImCOjjuy+TAQ6QrT1gW96mIynRis=; b=bgr5ATGfLGj/JYIEQVTHG8vktHvxGTQnKP3LUilnjPy8dPUur0c4g/u+/fYmFSGEac 8kg6jdqMlHKtBY6h17Oa4uHuy6fvDULGxUIC0eonjfGAkHt0BzLTn29kvmLX2rHrBhns e+hFwDx+3Bu0SWjhCLCS3y0++F1/7LtRfCB1bgIx/yHKO+rdX/WcpcNKb9fNy4VAQGXK QG9tq6q0xw133CZmmQNZJ1TtJUQ/s7lKSuyN6iqJgJv6AaGjnHZspR43dccdcEgCA6Qd am70M7GMSNp9/+D3oO5VI3cL4FElU6M1DatjZZ62qQpXFyTcnadM35D9mzRdjZukbK41 9gRg== X-Gm-Message-State: AHQUAuYlNtCCR+ztvOF1wxntVd8Ml/0Krsazt9VEA4bxRLPV64wTlh+D d4jL2eWkDBKd6rbo90MZs5aaxA== X-Google-Smtp-Source: AHgI3IY8r7q7BcQ5hWWgAq+BnPNIAmAyPC3nNrbEdTcQvd9QmAF20H5LgaIbUXfTsA2yYFmtc2RuXg== X-Received: by 2002:a63:2a89:: with SMTP id q131mr34540033pgq.216.1550707662728; Wed, 20 Feb 2019 16:07:42 -0800 (PST) Received: from localhost.dhcp.broadcom.net ([192.19.223.250]) by smtp.gmail.com with ESMTPSA id h13sm16013673pfn.114.2019.02.20.16.07.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Feb 2019 16:07:41 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH net 2/2] bnxt_en: Wait longer for the firmware message response to complete. Date: Wed, 20 Feb 2019 19:07:32 -0500 Message-Id: <1550707652-14747-3-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1550707652-14747-1-git-send-email-michael.chan@broadcom.com> References: <1550707652-14747-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The code waits up to 20 usec for the firmware response to complete once we've seen the valid response header in the buffer. It turns out that in some scenarios, this wait time is not long enough. Extend it to 150 usec and use usleep_range() instead of udelay(). Fixes: 9751e8e71487 ("bnxt_en: reduce timeout on initial HWRM calls") Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 1ddd672..d95730c 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -3926,7 +3926,7 @@ static int bnxt_hwrm_do_send_msg(struct bnxt *bp, void *msg, u32 msg_len, dma_rmb(); if (*valid) break; - udelay(1); + usleep_range(1, 5); } if (j >= HWRM_VALID_BIT_DELAY_USEC) { diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index a451796..2fb653e 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -582,7 +582,7 @@ struct nqe_cn { (HWRM_SHORT_TIMEOUT_COUNTER * HWRM_SHORT_MIN_TIMEOUT + \ ((n) - HWRM_SHORT_TIMEOUT_COUNTER) * HWRM_MIN_TIMEOUT)) -#define HWRM_VALID_BIT_DELAY_USEC 20 +#define HWRM_VALID_BIT_DELAY_USEC 150 #define BNXT_HWRM_CHNL_CHIMP 0 #define BNXT_HWRM_CHNL_KONG 1 -- 2.5.1