In ipoib_flush_paths(), we take the netif_tx_lock to remove a path My question is - what data does this lock protect? It isn't path->list and path->rb_node, because priv->lock is enough to protect them. It might be neigh and neigh->ah, to avoid freeing the neighbour and its address handle while ipoib_start_xmit() is using it, but this particular part is done *outside* the tx lock. Unless I'm missing something - shouldn't the code: spin_unlock_irqrestore(&priv->lock, flags); netif_tx_unlock_bh(dev); wait_for_completion(&path->done); release >> path_free(dev, path); lock >> netif_tx_lock_bh(dev); spin_lock_irqsave(&priv->lock, flags); Be like this: spin_unlock_irqrestore(&priv->lock, flags); netif_tx_unlock_bh(dev); wait_for_completion(&path->done); lock >> netif_tx_lock_bh(dev); release >> path_free(dev, path); spin_lock_irqsave(&priv->lock, flags); -Yossi _______________________________________________ general mailing list general@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Andrew Morton | 2.6.25-mm1 |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| David Miller | [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
| Natalie Protasevich | [BUG] New Kernel Bugs |
