Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2076952imu; Wed, 28 Nov 2018 21:57:34 -0800 (PST) X-Google-Smtp-Source: AFSGD/X40jWSyV7RbOMRoxG6zKbjTrz7jJo9Kf/x3u6Wloho0so2pZ77Q58ruwzNKZZzNwP2OyF+ X-Received: by 2002:a63:1d59:: with SMTP id d25mr168920pgm.180.1543471054748; Wed, 28 Nov 2018 21:57:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543471054; cv=none; d=google.com; s=arc-20160816; b=DbRtYayaHHmgkc2uQeCRYlLtuU5KQZ/ESMED3Jlnf4gvsiXDbqE0PqCDSJ9uBynpgp JqvW1QMyDyZkPFKs31s1jNMsYpxlouFSIM0OlQXHeDf4BYAw0r268/MB3UgUE5jtmpMG ldJ4ZMKy19QSv3VxAtPpHQ8pjHHMaE4OAQSG1Sr8+bbEXRYu5nZc4abp2nNnWjJx7Q5R WGS+ak1RjMVLNP4LdSJaHZQZ+SH3tbLeUZuG4pKWuJwemRHQeKRrzl/JYf3LGkCz2t0s dTrwZjEZRLsTUL4hNWXVx4dV4Q8qsD3LON0XMrSPXBbumHSOe+iU6r5NbZdfjigcqH8t JRTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=MhvKPcqHCN9SDDkG+EEguRlXjgsebw3glZcd8N42cBs=; b=XM6D/ktVpDRfGe2bXkMOfPBsLVv+glKxTqmQAyNajU8+R3iiwYAVAAMfv97QUgkrS4 Zc3MNnkPEmNgVFuExKC6vWJLRToBW80IpgWwFdBtUjxkGfAb7zHqPBbilWOfnha3YHew FOnKvj72Miq3TYMTNQ03Jn0GUu8ThRp6PoDiB678ae+WbfAVSIIEcctFwQUpDDJmVpeZ pWh9M0bCSqojSU2qHn4x6om3wys+H+/GsdTQbkvuTWAuepiX7jZEcsAZ/BrfhxUUe/aZ v5CZb6Er1zrkJJ+24zlMRJjxeSr09X3oibWPgxfoRO4a7EzVIApN9wkPfugzwX1JuxGo LSKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kpLkeI5+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d185-v6si1015734pfc.256.2018.11.28.21.57.19; Wed, 28 Nov 2018 21:57:34 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kpLkeI5+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728018AbeK2RA0 (ORCPT + 99 others); Thu, 29 Nov 2018 12:00:26 -0500 Received: from mail.kernel.org ([198.145.29.99]:33678 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728003AbeK2RA0 (ORCPT ); Thu, 29 Nov 2018 12:00:26 -0500 Received: from sasha-vm.mshome.net (unknown [37.142.5.207]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 950D120834; Thu, 29 Nov 2018 05:56:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543470975; bh=IrynZxwvGHq6nNXlAyEyj/Ihp2rufV8Yr6/bezR29TA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kpLkeI5+1J2OIbsaLwWUzN8A6TMJ7/Ig0CU3TIHe+g+mUaGFC9nYE8hsFUbrBpQPR 5pCdeRl4E7/j99+OGzSa9lwHdNX+W3u2LJ+5/A3aCQN/oDFDpVCuPe8PrIEEscjUH4 ET3jH5OCmxdtP1vpTu07EhxrNRZcBcI1DeL1mCvg= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Sakari Ailus , Mauro Carvalho Chehab , Sasha Levin , linux-media@vger.kernel.org Subject: [PATCH AUTOSEL 4.19 04/68] media: ipu3-cio2: Unregister device nodes first, then release resources Date: Thu, 29 Nov 2018 00:54:55 -0500 Message-Id: <20181129055559.159228-4-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181129055559.159228-1-sashal@kernel.org> References: <20181129055559.159228-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sakari Ailus [ Upstream commit 32388d6ef7cffc7d8291b67f8dfa26acd45217fd ] While there are issues related to object lifetime management, unregister the media device first, followed immediately by other device nodes when the driver is being unbound. Only then the resources needed by the driver may be released. This is slightly safer. Signed-off-by: Sakari Ailus Tested-by: Bingbu Cao Reviewed-by: Bingbu Cao Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/pci/intel/ipu3/ipu3-cio2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2.c b/drivers/media/pci/intel/ipu3/ipu3-cio2.c index 29027159eced..ca1a4d8e972e 100644 --- a/drivers/media/pci/intel/ipu3/ipu3-cio2.c +++ b/drivers/media/pci/intel/ipu3/ipu3-cio2.c @@ -1846,12 +1846,12 @@ static void cio2_pci_remove(struct pci_dev *pci_dev) struct cio2_device *cio2 = pci_get_drvdata(pci_dev); unsigned int i; + media_device_unregister(&cio2->media_dev); cio2_notifier_exit(cio2); - cio2_fbpt_exit_dummy(cio2); for (i = 0; i < CIO2_QUEUES; i++) cio2_queue_exit(cio2, &cio2->queue[i]); + cio2_fbpt_exit_dummy(cio2); v4l2_device_unregister(&cio2->v4l2_dev); - media_device_unregister(&cio2->media_dev); media_device_cleanup(&cio2->media_dev); mutex_destroy(&cio2->lock); } -- 2.17.1