ipoib_mcast_stop_thread(dev);
ipoib_mcast_stop_thread(dev, 1);
int ipoib_ib_dev_down(struct net_device *dev){	struct ipoib_dev_priv *priv = netdev_priv(dev);	ipoib_dbg(priv, "downing ib_dev\n");	clear_bit(IPOIB_FLAG_OPER_UP, &priv->flags);	netif_carrier_off(dev);	/* Shutdown the P_Key thread if still active */	if (!test_bit(IPOIB_PKEY_ASSIGNED, &priv->flags)) {		down(&pkey_sem);		set_bit(IPOIB_PKEY_STOP, &priv->flags);		cancel_delayed_work(&priv->pkey_task);		up(&pkey_sem);		flush_workqueue(ipoib_workqueue);	}	ipoib_mcast_stop_thread(dev);	/*	 * Flush the multicast groups first so we stop any multicast joins. The	 * completion thread may have already died and we may deadlock waiting	 * for the completion thread to finish some multicast joins.	 */	ipoib_mcast_dev_flush(dev);	/* Delete broadcast and local addresses since they will be recreated */	ipoib_mcast_dev_down(dev);	ipoib_flush_paths(dev);	return 0;}