Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp809297pxv; Thu, 1 Jul 2021 09:41:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxCJZ6QJ4Kc57/xGV8DBw3nXBO+QjSWKPJ2FuFoPwUnmCV2+T77JcV5wH2wXEEZ/Q/deorJ X-Received: by 2002:a92:3004:: with SMTP id x4mr206788ile.269.1625157710440; Thu, 01 Jul 2021 09:41:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625157710; cv=none; d=google.com; s=arc-20160816; b=xzMHgxx1jtLJ3sIRjpg9LEZhBjDPPiRE/rQ7WeWHjAqdyk1c5+xkQUXKJXRaQ8WGTR PAx7o/SCASv94IrG0NP8QXiKSJg1I1UEN7vkUhFZko4g/l5AesrYf7rtTEG+WBIpr9II 5g9ecRYOU4X1c3/SjjWCG7ji6We3QAim1hzaTkjoedQqdFSXJmSGi0+Ygxm6gIzflvMj WCs7fiEmHq7J+yNQUOqJ8BHd8CO0C4McWP2QRXVLPMrPYG8yO9aMkojCi6a//OhWjLsh 20F01/F+aO2NgYhsWvNTRIF8xfAEiGXcWGLBu4qHkPFdsp/hmux3s3QiqwHWuEjkLLHx C5Ww== 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:dkim-signature; bh=DmXj8caY15pwsQgjtiEZnmZUg1bkwyeXw/rOXNl13yM=; b=dOKhgH1OWqIMElvf87tpkIvc0XhIcFI3BZI9oXR4PKabqD894QBfIPlTjHCfAQJ2ug WggHZXwhL3O/z8z/dELGLfxPn36VOs13RXGWc0X3iTajWP6MPkkt9MwMnHefjKVQgdRR Yqq/BE8Yx063Z/bNhmCTJHZPBH6d3l3nVjQszsdEEqH0eeif5JRAIib/92bFfK4bfzHh Qz0PMMXYiC0/2x0jESd9u2MP8pwjtSj4nyZM4AMP5Eq8whbAD9AU+uRPGyew3Zy31HA2 CVD1n5fEtFLROE2kqHV/Fsv++vx3T60Y+eFPVp7p9VP1Z44HEt6BYKwcy/VvpsDlUJNJ Jyzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=hdAaYu1I; 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l9si501409jak.76.2021.07.01.09.41.38; Thu, 01 Jul 2021 09:41:50 -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; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=hdAaYu1I; 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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232969AbhGAPbN (ORCPT + 99 others); Thu, 1 Jul 2021 11:31:13 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:40424 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233096AbhGAPbN (ORCPT ); Thu, 1 Jul 2021 11:31:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1625153322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DmXj8caY15pwsQgjtiEZnmZUg1bkwyeXw/rOXNl13yM=; b=hdAaYu1ItddJGhG8tyWL0+KyGJlU/RA5IxOXyAc2NGmxLWhznoAha6Yi4LJcy9mZek6B1W F74XEVMMlUJBaUs26aOG6mOlz77iQfDU7AuS8f3Kb+LrzJLN/DbI37SM3/tJw+mmQ1etYh /uybaaUMifn6dmCsxP521o+xvBAtbnE= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-31-2j6XOe-zPpK98edlVNmnrw-1; Thu, 01 Jul 2021 11:28:38 -0400 X-MC-Unique: 2j6XOe-zPpK98edlVNmnrw-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7C42B19611AE; Thu, 1 Jul 2021 15:28:36 +0000 (UTC) Received: from fedora.hsd1.ca.comcast.net (ovpn-116-250.rdu2.redhat.com [10.10.116.250]) by smtp.corp.redhat.com (Postfix) with ESMTP id 233C85C22B; Thu, 1 Jul 2021 15:28:31 +0000 (UTC) From: jglisse@redhat.com To: linux-kernel@vger.kernel.org Cc: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Diego Santa Cruz , Bartosz Golaszewski , Jon Hunter , stable@vger.kernel.org, linux-i2c@vger.kernel.org Subject: [PATCH] misc: eeprom: at24: Always append device id even if label property is set. Date: Thu, 1 Jul 2021 08:28:25 -0700 Message-Id: <20210701152825.265729-1-jglisse@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jérôme Glisse We need to append device id even if eeprom have a label property set as some platform can have multiple eeproms with same label and we can not register each of those with same label. Failing to register those eeproms trigger cascade failures on such platform (system is no longer working). This fix regression on such platform introduced with 4e302c3b568e Signed-off-by: Jérôme Glisse Cc: Diego Santa Cruz Cc: Bartosz Golaszewski Cc: Jon Hunter Cc: stable@vger.kernel.org Cc: linux-i2c@vger.kernel.org --- drivers/misc/eeprom/at24.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index 7a6f01ace78a..305ffad131a2 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -714,23 +714,20 @@ static int at24_probe(struct i2c_client *client) } /* - * If the 'label' property is not present for the AT24 EEPROM, - * then nvmem_config.id is initialised to NVMEM_DEVID_AUTO, - * and this will append the 'devid' to the name of the NVMEM - * device. This is purely legacy and the AT24 driver has always - * defaulted to this. However, if the 'label' property is - * present then this means that the name is specified by the - * firmware and this name should be used verbatim and so it is - * not necessary to append the 'devid'. + * We initialize nvmem_config.id to NVMEM_DEVID_AUTO even if the + * label property is set as some platform can have multiple eeproms + * with same label and we can not register each of those with same + * label. Failing to register those eeproms trigger cascade failure + * on such platform. */ + nvmem_config.id = NVMEM_DEVID_AUTO; + if (device_property_present(dev, "label")) { - nvmem_config.id = NVMEM_DEVID_NONE; err = device_property_read_string(dev, "label", &nvmem_config.name); if (err) return err; } else { - nvmem_config.id = NVMEM_DEVID_AUTO; nvmem_config.name = dev_name(dev); } -- 2.31.1