Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3268841pxj; Mon, 14 Jun 2021 19:28:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzBhvbWU3rx/MwUASUMgeRexpx/WfSevAanP0s4Ud9kFpWo1CgwnclcCQ+v1fH954AvJPdS X-Received: by 2002:a17:907:3da4:: with SMTP id he36mr58699ejc.108.1623724081083; Mon, 14 Jun 2021 19:28:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623724081; cv=none; d=google.com; s=arc-20160816; b=HkKzDQDvyso/BG5OaboI+ofD7T21mZRRqrT6I/O2df5aluNBwcbLAYG7aqN8p8rogG epAQqNcAovy6zG3qDGsm0lZHXgcXeozbFwyUKYEL5c+I/soGiIiHKfwOx2G9kP+6niPf T90nKSWGYesvdQ6rhuDDnfDWb572YFPrOTzyDMC3iN5XmJTmGM0PEj3bLBcso0K6A/xx m5DhZ4UILxGkLtSPjUsSShgcgKDgDtC3a6ecA+S1pLTr9PuNT8875nfqukxLEhBVqvRu 0kcQFKuO5pb/J80MGnMKZpoe3hHjrUuHifTf1p+mLUiOHFXxXXWaCavrbOo57+BBgENx Qy5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=Pngq3yYUhQah5dibNE1vG0pyf1KGFWwzUYTCAfaDmB8=; b=m0ox4JZ5H6lq/KWZISVKfVa2G56cWTUqT+55lUa6EIA2ugAA1oWwKcWmqYcszfV8T2 3nl9v9eaClxDnLyMJviTT5bsc0JCZs09x0xSB81L/YhnXPs8Apre2T0CN67RjID2xQQT 9Pi9HQS5wxjuDLQHOxpW3k88rZSP21FydFnllnQ0PNIVG528Rp4/XsApKDIV8x/5hBCh WOpg8uU0lIq9579/lo9uPJ9D328kplIBQgf0j2KDgkYnFsRT0+juE6iy+wXxK89MnC1J iIOC91d8QUII9GWBnN+N8RkbbdBGvdAXiWiyQT2pyMUW6LFBx6DPz8gs5kccU+GCbaeB Q3RQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p3si12760156ejz.123.2021.06.14.19.27.38; Mon, 14 Jun 2021 19:28:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231941AbhFOC1d (ORCPT + 99 others); Mon, 14 Jun 2021 22:27:33 -0400 Received: from mail-pf1-f169.google.com ([209.85.210.169]:36455 "EHLO mail-pf1-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231912AbhFOC12 (ORCPT ); Mon, 14 Jun 2021 22:27:28 -0400 Received: by mail-pf1-f169.google.com with SMTP id c12so12104919pfl.3; Mon, 14 Jun 2021 19:25:23 -0700 (PDT) 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:mime-version :content-transfer-encoding; bh=Pngq3yYUhQah5dibNE1vG0pyf1KGFWwzUYTCAfaDmB8=; b=FpfHSIMXsqG0z+zrNwcQNJi4UfgzEA1UGcicGfMFYz1gCxdD25M/vazeQkbpltW7vr Dzw+yKk1SqihS0C5Gvb21mqJ/z3SsdJnouODysH0iIr/h1l5gVngHQJgcjSdfU794hWo NLt3z25mXa3/iA5GYgR1TqWcIHlHVWTJXR77ULlJyZywOWmhRRFYwwaqoKd0l3UmeueF gQVp7ODIChhzcP7/PiS2oeavgiFHmSKygC1eZV8pzyuAxNYUd0sWadpIVVWcFt/yblfd Y5/+wTg5vPRZoEUJBj9OzIfrZlJg+8Hxx0BxCLwV67BPheKqsZkD6otzhMa3L3CHZ7xh ZS5w== X-Gm-Message-State: AOAM532e8jxfMv/MJWAopjmaB1D14lhkZTHpuxX9dJIhIfU6FuReAJcj nwjI40ppqhZU0H5LdhtIZ5JENczllPKMfA== X-Received: by 2002:aa7:8641:0:b029:2f4:7263:5524 with SMTP id a1-20020aa786410000b02902f472635524mr2253289pfo.70.1623723923424; Mon, 14 Jun 2021 19:25:23 -0700 (PDT) Received: from localhost ([2601:647:5b00:1161:a4cc:eef9:fbc0:2781]) by smtp.gmail.com with ESMTPSA id i8sm14031482pgt.58.2021.06.14.19.25.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jun 2021 19:25:22 -0700 (PDT) From: Moritz Fischer To: gregkh@linuxfoundation.org Cc: maz@kernel.org, vkoul@kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Moritz Fischer , stable@vger.kernel.org, Mathias Nyman Subject: [PATCH] usb: renesas-xhci: Fix handling of unknown ROM state Date: Mon, 14 Jun 2021 19:25:14 -0700 Message-Id: <20210615022514.245274-1-mdf@kernel.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If the ROM status returned is unknown (RENESAS_ROM_STATUS_NO_RESULT) we need to attempt loading the firmware rather than just skipping it all together. Cc: stable@vger.kernel.org Cc: Mathias Nyman Cc: Greg Kroah-Hartman Cc: Vinod Koul Fixes: 2478be82de44 ("usb: renesas-xhci: Add ROM loader for uPD720201") Signed-off-by: Moritz Fischer --- drivers/usb/host/xhci-pci-renesas.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/usb/host/xhci-pci-renesas.c b/drivers/usb/host/xhci-pci-renesas.c index f97ac9f52bf4..dfe54f0afc4b 100644 --- a/drivers/usb/host/xhci-pci-renesas.c +++ b/drivers/usb/host/xhci-pci-renesas.c @@ -207,7 +207,8 @@ static int renesas_check_rom_state(struct pci_dev *pdev) return 0; case RENESAS_ROM_STATUS_NO_RESULT: /* No result yet */ - return 0; + dev_dbg(&pdev->dev, "Unknown ROM status ...\n"); + break; case RENESAS_ROM_STATUS_ERROR: /* Error State */ default: /* All other states are marked as "Reserved states" */ @@ -224,13 +225,11 @@ static int renesas_fw_check_running(struct pci_dev *pdev) u8 fw_state; int err; - /* Check if device has ROM and loaded, if so skip everything */ - err = renesas_check_rom(pdev); - if (err) { /* we have rom */ - err = renesas_check_rom_state(pdev); - if (!err) - return err; - } + /* Only if device has ROM and loaded FW we can skip loading and + * return success. Otherwise (even unknown state), attempt to load FW. + */ + if (renesas_check_rom(pdev) && !renesas_check_rom_state(pdev)) + return 0; /* * Test if the device is actually needing the firmware. As most -- 2.31.1