The bridge_disconnect assumed the internal channel id in pre-defined order,
which was not matched with the actual usb_interface to be disconnected.
Due to this, other internal resources were freed unexpectedly and caused
occasional crash during reset and power off.
Implemented new routines for matching usb_interface and internal channel id
to free proper resources when bridge_disconnect is called.
Change-Id: I0ca604423dd36928f99fad3e21a24ed4699f96c3