Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp4578278pxy; Tue, 27 Apr 2021 08:07:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLSLchrgmCOEG5cIsPjpdDKOlQiAYWURF9ZBm+2ytPrFKXqKowRTHQy7dRzlVTNiQVYQvU X-Received: by 2002:a05:6402:57:: with SMTP id f23mr4835335edu.323.1619536041042; Tue, 27 Apr 2021 08:07:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619536041; cv=none; d=google.com; s=arc-20160816; b=hq0RWreq9bSPtu4zeYitMIeVln8dngEECA3/dfLl1vceak3mTx3h6zr0b99ZmnYEv2 yOhrqCt3NW8OSxA2AuaO1OlHhHnD2cUb09BnNpIjWOxQXrkHj1aJ6uctPS1sKg5QvlpN +FAmGK81Ihx1LVazqqTQd+1T6A8NawiLlF/7WAhuCU/L6e5M/ptNplP59+6b2b1o8Bsg XY4iAh57OFqVj99LfjJZtec6vFOzapUySO7y9bm7rOvT4qU+ekEMru5ro0rbGstzURQc h/kaTPa6in82KWKaooZvBdNrIY/Q4ioDY6TbAPSE2vFstl1YyOxVWidFFVtIQCh0lrAq cS/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=H92+N+prJ9eTKHDD8/4/0qtkC/Zf8dyWoXvBvNJ5DRs=; b=fkmVxZzH9aMyUJO2VxYlfsxyEZDMIxMphNDnFLYA24tnOWxUXInG9DCx9ToolM9J8e OyvkAsC0R4BDaY/e8p6ZcyqM0CEfM0EE8Y0ltdbl13VVW/A20ZHCEE8pv5F5eBPHYyQ4 7sn4IceNAx/Qk/kiNnJGOQlTXHrNaKZnBmVj5T/ZtEFd87j4MSah1j1mQVAyG9T49uuP uUxeJ7y9zd4wEt+eWbk8t0ZQpaWsm5zravR1mq/1SMkX4bAqGxKowrWJzTi1kwQ9VlVj 9zxBjrh98uqDTGUZF4S25qK2gddxhdvDdao6Copi9Yes9eylyW1UgKYuT0TJ1/yAzMjq pP/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=vVnbqNgE; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c14si2768409edr.409.2021.04.27.08.06.56; Tue, 27 Apr 2021 08:07:21 -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=@google.com header.s=20161025 header.b=vVnbqNgE; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238618AbhD0PDx (ORCPT + 99 others); Tue, 27 Apr 2021 11:03:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236566AbhD0PDv (ORCPT ); Tue, 27 Apr 2021 11:03:51 -0400 Received: from mail-yb1-xb36.google.com (mail-yb1-xb36.google.com [IPv6:2607:f8b0:4864:20::b36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D912C061574 for ; Tue, 27 Apr 2021 08:03:08 -0700 (PDT) Received: by mail-yb1-xb36.google.com with SMTP id q192so16064562ybg.4 for ; Tue, 27 Apr 2021 08:03:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=H92+N+prJ9eTKHDD8/4/0qtkC/Zf8dyWoXvBvNJ5DRs=; b=vVnbqNgEIZtU8E6xziLFqgV85Oogu5BdWdOwAm8qGkxtx8wOzu2YOwHj0PL+AeyZ3L gn6Z6WCH9gNaa4YXZQTO5JKTg5DIU0h3cmOb6FFTd6wA/FWn2rg4Ek20OWCvorx8FeyS 9O2Aj/5AdZ+B3GzAT2s9SijS23+QuVx/txBZtx/ASgzer3VcF4uDZvq5xp9j1pHX9Nq+ aHtF1mEcNRY0gBtzX5DoV2uxc41XAp8y4d5RoyGCRGsqSv3Oalq+7U6yAvPWoL3HGL6p sqaB2fcO07rHwkMcuoZl9qONd2Vbf9Y+X8AGNQBtuLgVOjvXRAJeT/9bBkOhaYE5HBH/ MQ2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=H92+N+prJ9eTKHDD8/4/0qtkC/Zf8dyWoXvBvNJ5DRs=; b=fUc93EEJ8AERJvZaJ0rupTY0PQX5cTcKqFzhmfAtysl7sI96VL9WMVW/O2QdXN2yti AoxkLoKmLIK7iYN1KfsIH7+gkdceQ+83T/l/rs261RIHav8tqkQyenoYrlshNQi9AEvk I/rv59LdloYKitc+WQ1ZfgwgT2rSXNwm82pl3qadXNjDFPitMIufTjUrjs3Km75bU88R wtwNa3iCF34AGVo5OjqYg7rS2bYgtmRdAmgOfpNwX6GR++1KReGOwgcNIdt/eZmxL4rq TCpsdjiGXHiG1YEoYeCAiPbbDXXUpuSW9uzrN/r1IdewvYfxbhAc+jJb/9HEmcSVJLh9 BbUQ== X-Gm-Message-State: AOAM531ABXXM2JaHeXjL1/O8CLIgasGw8kc6SEDisp0G9lG9heGrH5Dv sSMI3qj84M9G5bQXnNtzbv3SSajUjeY51U/HPaezzQ== X-Received: by 2002:a25:6003:: with SMTP id u3mr35067710ybb.96.1619535787277; Tue, 27 Apr 2021 08:03:07 -0700 (PDT) MIME-Version: 1.0 References: <20210426235638.1285530-1-saravanak@google.com> <20210427104851.GC4605@sirena.org.uk> In-Reply-To: From: Saravana Kannan Date: Tue, 27 Apr 2021 08:02:30 -0700 Message-ID: Subject: Re: [PATCH] spi: Fix spi device unregister flow To: Greg Kroah-Hartman Cc: Andy Shevchenko , Mark Brown , Lukas Wunner , "Rafael J. Wysocki" , Guenter Roeck , Marek Szyprowski , Android Kernel Team , linux-spi , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 27, 2021 at 4:49 AM Greg Kroah-Hartman wrote: > > On Tue, Apr 27, 2021 at 02:42:19PM +0300, Andy Shevchenko wrote: > > On Tue, Apr 27, 2021 at 1:49 PM Mark Brown wrote: > > > > > > On Tue, Apr 27, 2021 at 09:52:48AM +0300, Andy Shevchenko wrote: > > > > +Cc Lukas > > > > > > The cleanup callback has been in release() since the framework was > > > merged AFAICT. > > > > Yep. > > > > Personally it feels to me wrong to require device_release() being > > atomic. It might be that I missed something in documentation or > > somewhere else that suggests the opposite. > > But let's wait for other comments if any. > > There is no requirement from the driver core to have the release > callback be "atomic", you should be able to sleep just fine in there. > > If not, something is wrong and has changed... This patch is not just about the atomic thing though. I can drop that from the commit text and I think this still fixes a real issue. Calling code from another driver (not even the device's own driver) during a device's release is not guaranteed to work at all (what if the module gets unloaded?). And this patch also fixes some mismatched setup/cleanup calls. Using device release for the cleanup() isn't necessary and we can avoid this bug. This patch tries to fix that too. As for the atomic thing, that seems to be a generic device link SRCU implementation issue. It does a put_device() in an atomic context. I'm not too familiar with the SRCU implementation or why it was needed. Rafael would have a better idea on that. I can drop that part from the commit text and move the atomic discussion back to Andy's "atomic context" thread[1]. -Saravana