/* When we up the command semaphore, everybody possibly held trying to execute a command should be granted entry and then they'll see the host is quiescing and up it (so it will chain to the next waiter). This should not happen (in any case), as we can only remove when there are no handles open...  */
static void whcrc_remove(struct umc_dev *umc_dev)
/* When we up the command semaphore, everybody possibly held trying to execute a command should be granted entry and then they'll see the host is quiescing and up it (so it will chain to the next waiter). This should not happen (in any case), as we can only remove when there are no handles open...  */
static void whcrc_remove(struct umc_dev *umc_dev)
{
	struct whcrc *whcrc = umc_get_drvdata(umc_dev);
	struct uwb_rc *uwb_rc = whcrc->uwb_rc;
	umc_set_drvdata(umc_dev, NULL);
	uwb_rc_rm(uwb_rc);
	whcrc_release_rc_umc(whcrc);
	kfree(whcrc);
	uwb_rc_put(uwb_rc);
}