[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160815184117.GA883@kroah.com>
Date: Mon, 15 Aug 2016 20:41:17 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: Vaibhav Hiremath <vaibhav.hiremath@...aro.org>
Cc: linux-usb@...r.kernel.org, robh@...nel.org, p.zabel@...gutronix.de,
stern@...land.harvard.edu, arnd@...db.de, peter.chen@...escale.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] USB: core: of: Check device_node before parsing in
usb_of_get_child_node()
On Mon, Aug 15, 2016 at 11:31:10AM -0700, Vaibhav Hiremath wrote:
> In case of HUB devices connected to USB ports, we may not have DT
> node representing it inside USB, and when devices connected to hub
> gets enumerated, call to usb_of_get_child_node() leads to NULL pointer
> dereference.
Really? That seems messed up.
> In the usecase we have, where EHCI port is connected to USB HUB
> device, and downward ports of HUB are connected to further USB
> devices. When those devices gets enumerated, in order,
> 1. USB HUB ->
> -> Call to usb_of_get_child_node() is OK, as
> parent->dev.of_node is pointing to host node.
> 2. Devices connected to downward port of USB HUB
> -> Call to usb_of_get_child_node() leads to NULL
> pointer dereference as parent->dev.of_node = NULL,
> as USB HUB DTS node may be empty.
Why is the hub DTS empty? Shouldn't that be the fix here?
thanks,
greg k-h
Powered by blists - more mailing lists