Received: by 10.192.165.156 with SMTP id m28csp267525imm; Tue, 17 Apr 2018 09:49:27 -0700 (PDT) X-Google-Smtp-Source: AIpwx483Y1NNzOWEMadCyZ+m5cBUMx2bLXE4l7w4OImhhIXpOsgDfzC/FjlxpQXzR0MFCuJVluFM X-Received: by 2002:a17:902:41:: with SMTP id 59-v6mr1148592pla.345.1523983767322; Tue, 17 Apr 2018 09:49:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523983767; cv=none; d=google.com; s=arc-20160816; b=0jZn7xOoG8C2jNAHqY4lyoSOKIEXvpjjYt/RnWm0/Csmnouczreey1lvO1l74tajNS jZJjclqSMZzPzpI5o2iX+wE6w0ZvMvQcBRWBY4eR2ByAE/eM4lv6IlXnSEIhOcD+7Vc8 oI3jzyDs5TKvD9EUqaodx6HDVJnYH1dRkxmuANryJeHBunP2dJ5Ik32SkF/fS0Pb/+Rf 3d4eHAIaCNAOLNNhheIvufoImdkm43JHrIKLfxz9IMx+HPzM59yCX6hmdIB3UjG//CSM LkKmd1YG44cSRjD0W6sU5p/OXaoaeEyxeeN+ljW9De2uqsc8XtLlmuAzSa6ohE/c54h/ c1Ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=kmCAE9pbjEHILMwWxZEbeCv0fIQoGbjIAIPjRVwOkw4=; b=JeWFUhri3sDoWJQXe3KlFTsVFUYIRjVkuKFp+5NdR3Qy3W3CdBA3dkWkwP7WGZtxQT 2ogvjrKw4F/ipVndNww7BaCfavB7FR8WJYmNXzwxSb1FfsUy3TYKAW/sDxlLgjDA7+2x CliyLbtt3lfdWFHOv+qZ+yNdJiWq3/zFZZXtGOoQ1Ctwfdy0Ev4XkzvsRtVBJ3svPYBq jhCaGwSzYz1E5iTBCYU5+KngfN8IvrSql//1pr2DsSyYvOauVwHq+63XuxvJSeW/97nO hETF5G7y0+zaU8xMBB1eke+BHxAHjc8pZVigxDoHByaWj/0sEkalF3Q+vXH7rPrsvydw SbIA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i14si10417297pgf.284.2018.04.17.09.49.13; Tue, 17 Apr 2018 09:49:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754680AbeDQQFF (ORCPT + 99 others); Tue, 17 Apr 2018 12:05:05 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:34398 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754647AbeDQQE5 (ORCPT ); Tue, 17 Apr 2018 12:04:57 -0400 Received: from localhost (unknown [46.44.180.42]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 630F18E3; Tue, 17 Apr 2018 16:04:56 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Phil Elwell , "David S. Miller" Subject: [PATCH 4.15 11/53] lan78xx: Correctly indicate invalid OTP Date: Tue, 17 Apr 2018 17:58:36 +0200 Message-Id: <20180417155723.706431040@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180417155723.091120060@linuxfoundation.org> References: <20180417155723.091120060@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: Phil Elwell [ Upstream commit 4bfc33807a9a02764bdd1e42e794b3b401240f27 ] lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP content, but the value gets overwritten before it is returned and the read goes ahead anyway. Make the read conditional as it should be and preserve the error code. Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver") Signed-off-by: Phil Elwell Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/usb/lan78xx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -928,7 +928,8 @@ static int lan78xx_read_otp(struct lan78 offset += 0x100; else ret = -EINVAL; - ret = lan78xx_read_raw_otp(dev, offset, length, data); + if (!ret) + ret = lan78xx_read_raw_otp(dev, offset, length, data); } return ret;