Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: drivers/infiniband/core/iwcm.c drivers/net/chelsio/cxgb2.c drivers/net/wireless/bcm43xx/bcm43xx_main.c drivers/net/wireless/prism54/islpci_eth.c drivers/usb/core/hub.h drivers/usb/input/hid-core.c net/core/netpoll.c Fix up merge failures with Linus's head and fix new compilation failures. Signed-Off-By: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -233,7 +233,7 @@ static inline struct ipoib_neigh **to_ipoib_neigh(struct neighbour *neigh)
|
||||
}
|
||||
|
||||
struct ipoib_neigh *ipoib_neigh_alloc(struct neighbour *neigh);
|
||||
void ipoib_neigh_free(struct ipoib_neigh *neigh);
|
||||
void ipoib_neigh_free(struct net_device *dev, struct ipoib_neigh *neigh);
|
||||
|
||||
extern struct workqueue_struct *ipoib_workqueue;
|
||||
|
||||
|
@@ -264,7 +264,7 @@ static void path_free(struct net_device *dev, struct ipoib_path *path)
|
||||
if (neigh->ah)
|
||||
ipoib_put_ah(neigh->ah);
|
||||
|
||||
ipoib_neigh_free(neigh);
|
||||
ipoib_neigh_free(dev, neigh);
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
@@ -525,10 +525,11 @@ static void neigh_add_path(struct sk_buff *skb, struct net_device *dev)
|
||||
ipoib_send(dev, skb, path->ah, IPOIB_QPN(skb->dst->neighbour->ha));
|
||||
} else {
|
||||
neigh->ah = NULL;
|
||||
__skb_queue_tail(&neigh->queue, skb);
|
||||
|
||||
if (!path->query && path_rec_start(dev, path))
|
||||
goto err_list;
|
||||
|
||||
__skb_queue_tail(&neigh->queue, skb);
|
||||
}
|
||||
|
||||
spin_unlock(&priv->lock);
|
||||
@@ -538,7 +539,7 @@ err_list:
|
||||
list_del(&neigh->list);
|
||||
|
||||
err_path:
|
||||
ipoib_neigh_free(neigh);
|
||||
ipoib_neigh_free(dev, neigh);
|
||||
++priv->stats.tx_dropped;
|
||||
dev_kfree_skb_any(skb);
|
||||
|
||||
@@ -655,7 +656,7 @@ static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
*/
|
||||
ipoib_put_ah(neigh->ah);
|
||||
list_del(&neigh->list);
|
||||
ipoib_neigh_free(neigh);
|
||||
ipoib_neigh_free(dev, neigh);
|
||||
spin_unlock(&priv->lock);
|
||||
ipoib_path_lookup(skb, dev);
|
||||
goto out;
|
||||
@@ -786,7 +787,7 @@ static void ipoib_neigh_destructor(struct neighbour *n)
|
||||
if (neigh->ah)
|
||||
ah = neigh->ah;
|
||||
list_del(&neigh->list);
|
||||
ipoib_neigh_free(neigh);
|
||||
ipoib_neigh_free(n->dev, neigh);
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
@@ -809,9 +810,15 @@ struct ipoib_neigh *ipoib_neigh_alloc(struct neighbour *neighbour)
|
||||
return neigh;
|
||||
}
|
||||
|
||||
void ipoib_neigh_free(struct ipoib_neigh *neigh)
|
||||
void ipoib_neigh_free(struct net_device *dev, struct ipoib_neigh *neigh)
|
||||
{
|
||||
struct ipoib_dev_priv *priv = netdev_priv(dev);
|
||||
struct sk_buff *skb;
|
||||
*to_ipoib_neigh(neigh->neighbour) = NULL;
|
||||
while ((skb = __skb_dequeue(&neigh->queue))) {
|
||||
++priv->stats.tx_dropped;
|
||||
dev_kfree_skb_any(skb);
|
||||
}
|
||||
kfree(neigh);
|
||||
}
|
||||
|
||||
|
@@ -114,7 +114,7 @@ static void ipoib_mcast_free(struct ipoib_mcast *mcast)
|
||||
*/
|
||||
if (neigh->ah)
|
||||
ipoib_put_ah(neigh->ah);
|
||||
ipoib_neigh_free(neigh);
|
||||
ipoib_neigh_free(dev, neigh);
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
|
@@ -283,7 +283,7 @@ struct iser_global {
|
||||
struct mutex connlist_mutex;
|
||||
struct list_head connlist; /* all iSER IB connections */
|
||||
|
||||
kmem_cache_t *desc_cache;
|
||||
struct kmem_cache *desc_cache;
|
||||
};
|
||||
|
||||
extern struct iser_global ig;
|
||||
|
@@ -1177,9 +1177,11 @@ static int srp_cm_handler(struct ib_cm_id *cm_id, struct ib_cm_event *event)
|
||||
break;
|
||||
}
|
||||
|
||||
target->status = srp_alloc_iu_bufs(target);
|
||||
if (target->status)
|
||||
break;
|
||||
if (!target->rx_ring[0]) {
|
||||
target->status = srp_alloc_iu_bufs(target);
|
||||
if (target->status)
|
||||
break;
|
||||
}
|
||||
|
||||
qp_attr = kmalloc(sizeof *qp_attr, GFP_KERNEL);
|
||||
if (!qp_attr) {
|
||||
@@ -1717,7 +1719,8 @@ static ssize_t srp_create_target(struct class_device *class_dev,
|
||||
if (!target_host)
|
||||
return -ENOMEM;
|
||||
|
||||
target_host->max_lun = SRP_MAX_LUN;
|
||||
target_host->max_lun = SRP_MAX_LUN;
|
||||
target_host->max_cmd_len = sizeof ((struct srp_cmd *) (void *) 0L)->cdb;
|
||||
|
||||
target = host_to_target(target_host);
|
||||
|
||||
|
Reference in New Issue
Block a user