From patchwork Wed Mar 10 17:23:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 1450655 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.a=rsa-sha256 header.s=badeba3b8450 header.b=XmVVK6Zh; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dwf8B60Zdz9sPf for ; Thu, 11 Mar 2021 04:24:26 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6C9BD827D2; Wed, 10 Mar 2021 18:24:20 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; secure) header.d=gmx.net header.i=@gmx.net header.b="XmVVK6Zh"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id F25A6827B1; Wed, 10 Mar 2021 18:24:17 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E02FF827B1 for ; Wed, 10 Mar 2021 18:24:14 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=xypron.glpk@gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1615397048; bh=tUNTGTV42YWwqcjnz49+dmyByTDzVu4bHy9w6NLLI8Q=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=XmVVK6Zh7Whg1wpYJnZQ0alFM2utdfqHixXx/qfOYUMRQyysJu3EjDgpvmn5g9M+4 naepI9LgsOd+oja5YLjLsuOKo1tprLKAcEpoiYf54DElMgdVnIHuRgpFlj13GbZ+io IsTLZ0NkDW5mkVN1YOmR56rQpVUnalPBDGiDfWog= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from LT02.fritz.box ([62.143.246.89]) by mail.gmx.net (mrgmx004 [212.227.17.184]) with ESMTPSA (Nemesis) id 1MVNAr-1lCj792RbL-00SM1N; Wed, 10 Mar 2021 18:24:08 +0100 From: Heinrich Schuchardt To: Jagan Teki , Vignesh R Cc: u-boot@lists.denx.de, Jose Marinho , Lukasz Majewski , Heinrich Schuchardt Subject: [PATCH 1/1] mtd: spi_flash_free() Date: Wed, 10 Mar 2021 18:23:57 +0100 Message-Id: <20210310172357.3567-1-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.30.1 MIME-Version: 1.0 X-Provags-ID: V03:K1:cPNgIEBCbPlSWi9QyfwpNyYkhOLOiXoXfW/VYz1cPj2YSxkS0y/ 5kP8tcI62c2/zvDMMB6cAXrXNADnqnolv9SXwWdQkZ/vrZ2iiLWKQlfSZHMUYgdCy4Hvo3z Fx1VAU0r4CAxbTbWjmd7KAGWxGtTZ8yUP503OM/drATaXN9lHhEClf1fPnXp3seScNfFJyC +0CUCWT4eZOY/JipCmOkQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:2HhC1i6og7E=:JJ80a/G1Uaa1Yg6RG1P5IC YBvCFSnBysGWJCwcJvWwTKAZUngcHrvjNEi7lKOLyC+fseNK7EAmkl8o9C2LGx+QF2qiF3Cbv OYxCQ2VH7W9Z0GbaKf4w77kOiILXVdeoYRRqHqPLECK0iklnGbDX0WquP1qJqpO1W+PnP0PpR Ao5yhsT+pBolR25z13/1Bb3o8Q26EwQLDnvmvMTPTKBTaW4S+SeadPCxrDKfdjA1PNRa4+oD6 t0aZ2x7tBE0NpIYsPL6k4sMDqipiNaQY13+w5VDmJkYjb7kxEOjq+wARLg6KaSjZPLxKHsNWs 9s51Ca2SkZKvf4xxU4aL1QHaOvgLOwODNAHqyfHvTV8M37Sg8Au9XhurAXccEZ8p5yPtbmIJW qVLMkoRZZJjlbvVrQKC9wc0XUQtksut47r7IcYwXByDq1dYo+RvJ1kvE+8buHTVawPy4hK0WY L+HlgFMOViSKZ/mFfgqRgU0Ms9BwaXmRMLG2FWMuPVHxxFi870EeK6X80svdf34NCO3cjdtm2 osuKG+IqXwHTpbU61fcQdJm0uj0zaBo//JQmvnkWUyFzCPERmuvu88yN9pUU2i0EA+1mWxBKP /QEesZvPWnys3X8tf1QgbXcEYTqiLAYAqzyCCp4GZeB8r97K4GUV7CYaHM7YGgLSjdz7pvvOe PWjupbjaNJsU2rh8fhHZ1g+agsq64UQl7rJtJypzpa83y3JcQdA35x8vQOaZA3Jznj9vLDR0M HbANlhMzMipp9LrPdguN2iAUzQh0UlJKXO9QLl3ojRdMbZ6EarOOLqsJNiqFc1orkWeQBS6Ht G6O2FhFtyTVFdiSr4uK13CkrCcW9064dxzBuMOEWTbsnB80oR/gY5bJzOGfkJjy8q+lQJ2Cxd xanrSGeX1U6cmjer3m0w== X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean dfu_free_entities() invoking dfu_free_entity_sf() has let to segementation faults due to double freeing the same device. spi_flash_free() is not relevant for the driver model but exists only for compatibility with old drivers. We must not remove any device here: * The device may still be referenced. * We don't want to have to probe again. Signed-off-by: Heinrich Schuchardt Signed-off-by: Heinrich Schuchardt --- drivers/mtd/spi/sf-uclass.c | 5 ----- include/spi_flash.h | 4 +++- 2 files changed, 3 insertions(+), 6 deletions(-) -- 2.30.1 diff --git a/drivers/mtd/spi/sf-uclass.c b/drivers/mtd/spi/sf-uclass.c index 12d132152d..fd1bec80d6 100644 --- a/drivers/mtd/spi/sf-uclass.c +++ b/drivers/mtd/spi/sf-uclass.c @@ -46,11 +46,6 @@ struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, return dev_get_uclass_priv(dev); } -void spi_flash_free(struct spi_flash *flash) -{ - device_remove(flash->spi->dev, DM_REMOVE_NORMAL); -} - int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs, unsigned int max_hz, unsigned int spi_mode, struct udevice **devp) diff --git a/include/spi_flash.h b/include/spi_flash.h index 85cae32cc7..478c543b06 100644 --- a/include/spi_flash.h +++ b/include/spi_flash.h @@ -97,7 +97,9 @@ struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, unsigned int max_hz, unsigned int spi_mode); /* Compatibility function - this is the old U-Boot API */ -void spi_flash_free(struct spi_flash *flash); +static inline void spi_flash_free(struct spi_flash *flash) +{ +} static inline int spi_flash_read(struct spi_flash *flash, u32 offset, size_t len, void *buf)