Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2657930pxj; Mon, 14 Jun 2021 04:13:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxafe38ik9l2gWw7uRIGaNfMb3+sgAKAzDKZ9SQnxSC9xyIMi2Ujz0Up0RR4A82VOKxZJ1I X-Received: by 2002:a17:907:2074:: with SMTP id qp20mr14662335ejb.35.1623669200295; Mon, 14 Jun 2021 04:13:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623669200; cv=none; d=google.com; s=arc-20160816; b=yBpJJpLknq9BiOg84+O2ThKMWkyGDKh0oHhzotcXgTnF0fpW1L9OeQONgLFz0r+1Go GMXunTQUfUJe0LNwCemCNxTTy7japjLuUt7+fUHFnUzQL6gBJyWew20Bhp5OlzOsg3sU HVWhjRwjilLAqHycA0Whgx9ZFL6RVD3v0CxF0mPCe/uHzdZMW3g/hVSFhS36N3XA2DYE tjZxW3GFtubYCaXYlBnL5JTL2N61Zf5lKVLKGh+pS6AYhUc3aguOXF/d3rueHIfcnCNs m6DnQnPrY2JH/r42cgdtJwk1asLJLEK2CgJO7/uEtPg7oeI+yifeubQ8RqJVKEYLbpu/ xI0w== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=7xP0Gq/PVj9Ip7CQB+BZQWuz2HIjRwX9PAyhnl/X3vM=; b=01XVm/VablM+qxrZokVk3QSVCMfHEylnEfieRVl/jE4WU2EuqCr6bAdl9ydXg2mEwy 7V6Xb4bkm4rs37p8A62AROaMrkuw0NLG3yv4LKEX8nC9gm900vSzewO5K83J8JxtaHtw GGHZWSswnDKHi+0LspAPRSJqpYTkl7+bKjy3/mCFlyRMyGYRJERMIU5oy3Oc1ziEkFYQ 4Mh1RXRVch7kRRbmxKRWLj/T6D/ribtBPN3LTOYoaocvV7SPxGCUtJGOIm67a8AgSBxO w6uAvP1p2m5968ixI76HiIf8UVxxfAN/4M1kVK48Zuv8vWVBGBiARRnphs8cCOeutVC7 u+Qg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=j2oKBNBd; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j23si13221959eje.719.2021.06.14.04.12.57; Mon, 14 Jun 2021 04:13:20 -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=@linuxfoundation.org header.s=korg header.b=j2oKBNBd; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235130AbhFNLNM (ORCPT + 99 others); Mon, 14 Jun 2021 07:13:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:36658 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232981AbhFNLAk (ORCPT ); Mon, 14 Jun 2021 07:00:40 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1B74E6162D; Mon, 14 Jun 2021 10:43:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1623667381; bh=ZW3JLZfjvqZEDHU5V7iEFM3QKyw+K2Cq+E01twEHqXI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=j2oKBNBdpRjWGGSrd3xz0ugivuhn9J22wnYz//RQe67jDkgW0qZVAL/dLGQMkNneI jygDwq/T2/0hQF7d5B6no326Kj75/mAZlo0g7mQclKRBPmRfBD2i2fZFB/HLJ3xK2N t/ylwcEYN+y/mMRGLaL/jCMdrWIBaqOm1dClksLk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lukas Wunner , Saravana Kannan , Andy Shevchenko , Mark Brown , Sasha Levin Subject: [PATCH 5.10 041/131] spi: Dont have controller clean up spi device before driver unbind Date: Mon, 14 Jun 2021 12:26:42 +0200 Message-Id: <20210614102654.412776912@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210614102652.964395392@linuxfoundation.org> References: <20210614102652.964395392@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Saravana Kannan [ Upstream commit 27e7db56cf3dffd302bd7ddfacb1d405cf671a2a ] When a spi device is unregistered and triggers a driver unbind, the driver might need to access the spi device. So, don't have the controller clean up the spi device before the driver is unbound. Clean up the spi device after the driver is unbound. Fixes: c7299fea6769 ("spi: Fix spi device unregister flow") Reported-by: Lukas Wunner Signed-off-by: Saravana Kannan Tested-by: Andy Shevchenko Link: https://lore.kernel.org/r/20210505164734.175546-1-saravanak@google.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- drivers/spi/spi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 96560853b3a3..0cf67de741e7 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -709,15 +709,15 @@ void spi_unregister_device(struct spi_device *spi) if (!spi) return; - spi_cleanup(spi); - if (spi->dev.of_node) { of_node_clear_flag(spi->dev.of_node, OF_POPULATED); of_node_put(spi->dev.of_node); } if (ACPI_COMPANION(&spi->dev)) acpi_device_clear_enumerated(ACPI_COMPANION(&spi->dev)); - device_unregister(&spi->dev); + device_del(&spi->dev); + spi_cleanup(spi); + put_device(&spi->dev); } EXPORT_SYMBOL_GPL(spi_unregister_device); -- 2.30.2