Searched hist:"24 c498df" (Results 1 – 2 of 2) sorted by relevance
/openbmc/linux/drivers/usb/chipidea/ |
H A D | host.c | 24c498df Tue Dec 23 21:33:17 CST 2014 Peter Chen <peter.chen@freescale.com> Revert "usb: chipidea: remove duplicate dev_set_drvdata for host_start"
This reverts commit 14b4099c074f2ddf4d84b22d370170e61b527529
It moved platform_set_drvdata(pdev, ci) before hcd is created, and the hcd will assign itself as ci controller's drvdata during the hcd creation function (in usb_create_shared_hcd), so it overwrites the real ci's drvdata which we want to use.
So, if the controller is at host mode, the system suspend API will get the wrong struct ci_hdrc pointer, and cause the oops.
Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 24c498df Tue Dec 23 21:33:17 CST 2014 Peter Chen <peter.chen@freescale.com> Revert "usb: chipidea: remove duplicate dev_set_drvdata for host_start" This reverts commit 14b4099c074f2ddf4d84b22d370170e61b527529 It moved platform_set_drvdata(pdev, ci) before hcd is created, and the hcd will assign itself as ci controller's drvdata during the hcd creation function (in usb_create_shared_hcd), so it overwrites the real ci's drvdata which we want to use. So, if the controller is at host mode, the system suspend API will get the wrong struct ci_hdrc pointer, and cause the oops. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
H A D | core.c | 24c498df Tue Dec 23 21:33:17 CST 2014 Peter Chen <peter.chen@freescale.com> Revert "usb: chipidea: remove duplicate dev_set_drvdata for host_start"
This reverts commit 14b4099c074f2ddf4d84b22d370170e61b527529
It moved platform_set_drvdata(pdev, ci) before hcd is created, and the hcd will assign itself as ci controller's drvdata during the hcd creation function (in usb_create_shared_hcd), so it overwrites the real ci's drvdata which we want to use.
So, if the controller is at host mode, the system suspend API will get the wrong struct ci_hdrc pointer, and cause the oops.
Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 24c498df Tue Dec 23 21:33:17 CST 2014 Peter Chen <peter.chen@freescale.com> Revert "usb: chipidea: remove duplicate dev_set_drvdata for host_start" This reverts commit 14b4099c074f2ddf4d84b22d370170e61b527529 It moved platform_set_drvdata(pdev, ci) before hcd is created, and the hcd will assign itself as ci controller's drvdata during the hcd creation function (in usb_create_shared_hcd), so it overwrites the real ci's drvdata which we want to use. So, if the controller is at host mode, the system suspend API will get the wrong struct ci_hdrc pointer, and cause the oops. Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|