From nobody Thu Feb 24 12:55:48 2022 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 1018619DD1C8; Thu, 24 Feb 2022 12:55:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4K4CZD4cV5z4SJW; Thu, 24 Feb 2022 12:55:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1645707348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DuWXdfELgtgzyqBPsytOEBELAH7z7crty4aNj8PX9Hc=; b=VwMt4aD9ToVReYxKFbuRKRiLs6PPLgue18Obvv9vh53gQRA6LR014baFXBrgf0Q6r3R18+ 0c0fIwwxHfoPMAJUWVz7dn73833tJeHoKz3D3Ezd/USvdqCDgeojkZ60BNYGabmkflkGmh 0/RBOmBwkDIDUHlB7il+/WqnkJFtgd/XZBYkMW4HA12GOV2Y2VyAjktJYY+i5VNd8c5q6Z D4U+M6escCO2N9YX/arrnCFb/tLswjUmXWj2NDlpF1Piry7ZqepB1MoypNnelqbvPWOyM2 n5z4dTY/r4tuYnhKkVwoTJ9DNY8Vw6HVTi4rTOHmpBn3P/YjUKfNzR2fVGxyRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 60EA840ED; Thu, 24 Feb 2022 12:55:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 21OCtm9N030069; Thu, 24 Feb 2022 12:55:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 21OCtmGU030068; Thu, 24 Feb 2022 12:55:48 GMT (envelope-from git) Date: Thu, 24 Feb 2022 12:55:48 GMT Message-Id: <202202241255.21OCtmGU030068@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marcin Wojtas Subject: git: 8875a5872c1a - stable/13 - ena: do not call reset if device is unresponsive List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mw X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8875a5872c1a7933bd8e6a248adc05053547ad54 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1645707348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DuWXdfELgtgzyqBPsytOEBELAH7z7crty4aNj8PX9Hc=; b=bIv2JBXpv3WROT5owOWMjcf97c3eG5uowl29WJ/X6ISEyzmyBtjdUZlCex4PeB0YVxWNEp oRW8+8im1PmKeFVmYr8+bRftVjHP6lOVbF2ZM81T9zi4lSXijpOH36qB92Dlg2C79SBLs5 6sg3gb2R/IvjGMXNx17VTvs9LKyypiqesOL//E8KB+tbCND63huRdToCcDCcGiSRGAWIXf 9TUqXCXSNYids/SovUV6WmLx84pxb/ZlfHgExXaZe2BJc0zs95BR1HBTwMKyBBKjjNsK2b ruxoOfMpw2T5Nc9RzDiZHCZvDA4+IEwpZINp2I+wMOSPmmA52kwGVcaLX5+aqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1645707348; a=rsa-sha256; cv=none; b=WPoBW1T/UkaYYu/8M5igibI/fEyKcdzQUrffTuORdNX/s2biQrn+OupjAX2h/WSqHSHwTG xK2EOaHMZSDFQ8fLvFZSZ0X1ryd9AQOuGtl/4YbIOPqRUumeaDD7dGXsTVUDtjIIAO4oSE exl9hakbd8x21Us1tP7Wbz9RHUGE7ArPwuH/Pl9UDAOiFWrsB6doPJ5m/icFGihmr5B9Lm +85bXJfmmuvreJVMqwtcuyofq4fuw1Yu15es4/Y/cKuJBHmR3lu0KjQjx2NCe+mgv1021b vEXfgbwMS7Hdk7M5unMtFIr7s4UUCTnyfAipTrQJGRsoJMbPE1hJ1Nufy4AiMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by mw: URL: https://cgit.FreeBSD.org/src/commit/?id=8875a5872c1a7933bd8e6a248adc05053547ad54 commit 8875a5872c1a7933bd8e6a248adc05053547ad54 Author: Dawid Gorecki AuthorDate: 2022-01-03 13:50:29 +0000 Commit: Marcin Wojtas CommitDate: 2022-02-24 12:53:44 +0000 ena: do not call reset if device is unresponsive If the device becomes unresponsive, the driver will not be able to finish the reset process correctly. Timeout during version validation indicates that the device is currently not responding. In that case do not perform the reset and instead reschedule timer service. Because of that the driver will continue trying to reset the device until it succeeds or is detached. Submitted by: Dawid Gorecki Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. (cherry picked from commit d10ec3ad7739a6f621d398d034632f68f647d72f) --- sys/dev/ena/ena.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index f4abe61f08ae..1b26a91c5d9e 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3278,6 +3278,18 @@ ena_timer_service(void *data) ena_update_host_info(host_info, adapter->ifp); if (unlikely(ENA_FLAG_ISSET(ENA_FLAG_TRIGGER_RESET, adapter))) { + /* + * Timeout when validating version indicates that the device + * became unresponsive. If that happens skip the reset and + * reschedule timer service, so the reset can be retried later. + */ + if (ena_com_validate_version(adapter->ena_dev) == + ENA_COM_TIMER_EXPIRED) { + ena_log(adapter->pdev, WARN, + "FW unresponsive, skipping reset\n"); + ENA_TIMER_RESET(adapter); + return; + } ena_log(adapter->pdev, WARN, "Trigger reset is on\n"); taskqueue_enqueue(adapter->reset_tq, &adapter->reset_task); return;