usb: musb: ux500: Fix NULL pointer dereference at system PM
commitea6f411117e16f01c363042c4f2fb25655e52483
authorUlf Hansson <ulf.hansson@linaro.org>
Mon, 25 Jan 2016 12:01:29 +0000 (25 13:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Jan 2018 08:35:28 +0000 (17 09:35 +0100)
tree2b073bf7939ab6d9b1fd59eed90b0b2692f77fc5
parent829b82508c55d58f585ae8dbf692351fc2dee775
usb: musb: ux500: Fix NULL pointer dereference at system PM

commit 79c5623f1cb85f33403eb9f1e45124e9f56181f8 upstream.

The commit 7d32cdef5356 ("usb: musb: fail with error when no DMA
controller set"), caused the core platform driver to correctly return an
error code when fail probing.

Unfurtante it also caused bug for a NULL pointer dereference, during
system suspend for the ux500 driver. The reason is a lacking validation
of the corresponding ->driver_data pointer, which won't be set when the
musb core driver fails to probe (or haven't yet been probed).

Fixes: 7d32cdef5356 ("usb: musb: fail with error when no DMA...")
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/musb/ux500.c