mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
ANDROID: serdev: Fix platform device support
After commit 3c996ff8858 ("ANDROID: serdev: add platform device
support") landed, we started seeing boot panics on HiKey960/HiKey.
After some debugging I found the patch is passing a serdev_device->dev
pointer to match(), which expects the dev pointer to be
contained in a platform_device structure instead. When it uses
container_of, it ends up miscast and we get bad values.
Alistair suggested this fix which seems to avoid the issue.
Signed-off-by: John Stultz <[email protected]>
Bug: 146517987
Change-Id: I6354aeb4008fff85264a3c848c6c95fb8ca5b07a
This commit is contained in:
parent
861433ef01
commit
515764a925
1 changed files with 2 additions and 2 deletions
|
|
@ -65,7 +65,7 @@ static int serdev_device_uevent(struct device *dev, struct kobj_uevent_env *env)
|
|||
return rc;
|
||||
|
||||
if (dev->parent->parent->bus == &platform_bus_type)
|
||||
rc = dev->parent->parent->bus->uevent(dev, env);
|
||||
rc = dev->parent->parent->bus->uevent(dev->parent->parent, env);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
@ -110,7 +110,7 @@ static int serdev_device_match(struct device *dev, struct device_driver *drv)
|
|||
return 1;
|
||||
|
||||
if (dev->parent->parent->bus == &platform_bus_type &&
|
||||
dev->parent->parent->bus->match(dev, drv))
|
||||
dev->parent->parent->bus->match(dev->parent->parent, drv))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue