usb: fix cleanup after failure in hub_configure()

If the hub_configure() fails after setting the hdev->maxchild
the
hub->ports might be NULL or point to uninitialized kzallocated
memory
causing NULL pointer dereference in hub_quiesce() during cleanup.

Now
after such error the hdev->maxchild is set to 0 to avoid cleanup
of
uninitialized ports.

Signed-off-by: Krzysztof Mazur
<krzysiek@podlesie.net>
Acked-by: Alan Stern
<stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman
<gregkh@linuxfoundation.org>

idea is taken here -
https://github.com/varunchitre15/thunderzap_xl/commit/b0958215ed062951a41b30907f6baf90cc34bda8