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