Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b961180 authored by Ben Hutchings's avatar Ben Hutchings Committed by Mauro Carvalho Chehab
Browse files

[media] rc: ite-cir: Initialise ite_dev::rdev earlier



ite_dev::rdev is currently initialised in ite_probe() after
rc_register_device() returns.  If a newly registered device is opened
quickly enough, we may enable interrupts and try to use ite_dev::rdev
before it has been initialised.  Move it up to the earliest point we
can, right after calling rc_allocate_device().

Reported-and-tested-by: default avatarYunQiang Su <wzssyqa@gmail.com>

Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 612cd9e8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1473,6 +1473,7 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
	rdev = rc_allocate_device();
	if (!rdev)
		goto failure;
	itdev->rdev = rdev;

	ret = -ENODEV;

@@ -1604,7 +1605,6 @@ static int ite_probe(struct pnp_dev *pdev, const struct pnp_device_id
	if (ret)
		goto failure3;

	itdev->rdev = rdev;
	ite_pr(KERN_NOTICE, "driver has been successfully loaded\n");

	return 0;