From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F3AAC403E8A for ; Tue, 19 May 2026 15:16:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779203800; cv=none; b=pjNDUhL+ZOYN4hpELedlg4pPvf7f6Jebsd1tJA03mtCLVrmYjHoaUKlHkStqFK6/3Z8S+dYEQLExqs3/NDlwkPzYwQ9y6jZfUVYclKItSo5Zh8AGpCK6nV7FFuKACll4AvzZY+fOejIL4DG5ciR589x4zk5rcZj9W47LBtn4eeg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779203800; c=relaxed/simple; bh=3ZUbyl2u6P7tfd4yXvOM1lsLJ97EoJorkxH51X1Afks=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=tlejgtXwP24sBEcKfh8g+B+cLPjw1U7V3T+hUksGksRyXnR2JjdHl9YpS8iNtopoefC2g0ovl7kJLUHla5g7gyT5Revh/WquVRjj5osAXDHoXKOUPCAk6CHJ/rEoy1KVlBlrwyYeMdNelo8gyIwLoVs1cAnTc4FIeVZQsEKrhRI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=qstea0Ma; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="qstea0Ma" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D74A7C2BCB3; Tue, 19 May 2026 15:16:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1779203799; bh=3ZUbyl2u6P7tfd4yXvOM1lsLJ97EoJorkxH51X1Afks=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=qstea0MayDA+UTyetQLiNSu58XKmkV8CHX3UzSNJGtdFN1aFUf+QK1al74jQvbDyp BCSWpz03QcaA0eUdS1tbMOSrL2CBEzYxxqvrEdFTaiw4spXkocLfR9foASi+UCPvfK ZVE+XsBOXfvqJKeCFdIcWx6ehJh/4LeWxH5myvjp5RoNeoR7Y3iejtRafnKGcScfAT lGUzQI5o34ZqEncbEMb++z+LDNM4AwQRjtD3JoVy7Znu8NVhlkR2iyKB22dE5w8OcB Hm/d64GMXWh0BggHd+rUnuZlLwcP2jSJgGwZUbtu7aHROgF9dHYrUrh1n3Mq+I3ZEJ VEJC4Ol8DGxlg== Message-ID: Date: Tue, 19 May 2026 16:16:37 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] nvmem: layouts: onie-tlv: fix hang on unknown types To: Andre Heider , miquel.raynal@bootlin.com Cc: linux-kernel@vger.kernel.org, srini@kernel.org References: <87y0hvhys8.fsf@bootlin.com> <20260508055000.24031-1-a.heider@gmail.com> Content-Language: en-US From: Srinivas Kandagatla In-Reply-To: <20260508055000.24031-1-a.heider@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 5/8/26 6:50 AM, Andre Heider wrote: > The EEPROM on my board has a vendor specific entry of type 0x41. When > stumbling upon that, this driver hangs in an endless loop. > > Fix it by keep incrementing the offset on unknown entries, so the loop > will eventually stop. > > Fixes: d3c0d12f6474 ("nvmem: layouts: onie-tlv: Add new layout driver") This needs Stable tag as well, Am applying this for now but, pl make sure that a Stable tag is added to fixes next time. --srini > Signed-off-by: Andre Heider > Reviewed-by: Miquel Raynal > --- > > Thanks for the quick review, Miquel! > > Added the Fixes: tag as requested, it dates back to the initial commit. > > Regards, > Andre > > drivers/nvmem/layouts/onie-tlv.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/nvmem/layouts/onie-tlv.c b/drivers/nvmem/layouts/onie-tlv.c > index 0967a32319a28..8b0f3c1b8a0e9 100644 > --- a/drivers/nvmem/layouts/onie-tlv.c > +++ b/drivers/nvmem/layouts/onie-tlv.c > @@ -119,7 +119,7 @@ static int onie_tlv_add_cells(struct device *dev, struct nvmem_device *nvmem, > > cell.name = onie_tlv_cell_name(tlv.type); > if (!cell.name) > - continue; > + goto next; > > cell.offset = hdr_len + offset + sizeof(tlv.type) + sizeof(tlv.len); > cell.bytes = tlv.len; > @@ -132,6 +132,7 @@ static int onie_tlv_add_cells(struct device *dev, struct nvmem_device *nvmem, > return ret; > } > > +next: > offset += sizeof(tlv) + tlv.len; > } >