/* Remove a USB bus (either from rmmod foo-hcd or from a hot-remove event).  */
static void mon_bus_remove(struct usb_bus *ubus)
/* Remove a USB bus (either from rmmod foo-hcd or from a hot-remove event).  */
static void mon_bus_remove(struct usb_bus *ubus)
{
	struct mon_bus *mbus = ubus->mon_bus;
	mutex_lock(&mon_lock);
	list_del(&mbus->bus_link);
	if (mbus->text_inited)
		mon_text_del(mbus);
	if (mbus->bin_inited)
		mon_bin_del(mbus);
	mon_dissolve(mbus, ubus);
	kref_put(&mbus->ref, mon_bus_drop);
	mutex_unlock(&mon_lock);
}