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

Commit 189e74ee authored by Ben Dooks's avatar Ben Dooks Committed by Russell King
Browse files

[ARM] 3775/1: S3C24XX: do not add same sysdev_driver to two classes



Patch from Ben Dooks

The s3c244x-irq.c code makes the mistake of adding
the same drive to two different sys-classes. This
causes the class lists to become corrupted and the
suspend code to OOPS.

Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 3142afb5
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -119,21 +119,24 @@ static int s3c244x_irq_add(struct sys_device *sysdev)
	return 0;
}

static struct sysdev_driver s3c244x_irq_driver = {
static struct sysdev_driver s3c2440_irq_driver = {
	.add	= s3c244x_irq_add,
};

static int s3c2440_irq_init(void)
{
	return sysdev_driver_register(&s3c2440_sysclass, &s3c244x_irq_driver);
	return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_irq_driver);
}

arch_initcall(s3c2440_irq_init);

static struct sysdev_driver s3c2442_irq_driver = {
	.add	= s3c244x_irq_add,
};

static int s3c2442_irq_init(void)
{
	return sysdev_driver_register(&s3c2442_sysclass, &s3c244x_irq_driver);
	return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_irq_driver);
}

arch_initcall(s3c2442_irq_init);