]> err.no Git - linux-2.6/blobdiff - drivers/infiniband/hw/ipath/ipath_verbs.c
Merge branch 'i915fb' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/intelf...
[linux-2.6] / drivers / infiniband / hw / ipath / ipath_verbs.c
index cb9e387c301f2b15320d19f1e79e9522ce40b72d..28fdbdaa789db8acecceb4d72192cd3a5aea19bd 100644 (file)
@@ -464,7 +464,7 @@ static void ipath_ib_timer(void *arg)
        last = &dev->pending[dev->pending_index];
        while (!list_empty(last)) {
                qp = list_entry(last->next, struct ipath_qp, timerwait);
-               list_del(&qp->timerwait);
+               list_del_init(&qp->timerwait);
                qp->timer_next = resend;
                resend = qp;
                atomic_inc(&qp->refcount);
@@ -474,7 +474,7 @@ static void ipath_ib_timer(void *arg)
                qp = list_entry(last->next, struct ipath_qp, timerwait);
                if (--qp->s_rnr_timeout == 0) {
                        do {
-                               list_del(&qp->timerwait);
+                               list_del_init(&qp->timerwait);
                                tasklet_hi_schedule(&qp->s_task);
                                if (list_empty(last))
                                        break;
@@ -554,7 +554,7 @@ static int ipath_ib_piobufavail(void *arg)
        while (!list_empty(&dev->piowait)) {
                qp = list_entry(dev->piowait.next, struct ipath_qp,
                                piowait);
-               list_del(&qp->piowait);
+               list_del_init(&qp->piowait);
                tasklet_hi_schedule(&qp->s_task);
        }
        spin_unlock_irqrestore(&dev->pending_lock, flags);
@@ -951,6 +951,7 @@ static void *ipath_register_ib_device(int unit, struct ipath_devdata *dd)
        idev->dd = dd;
 
        strlcpy(dev->name, "ipath%d", IB_DEVICE_NAME_MAX);
+       dev->owner = THIS_MODULE;
        dev->node_guid = ipath_layer_get_guid(dd);
        dev->uverbs_abi_ver = IPATH_UVERBS_ABI_VERSION;
        dev->uverbs_cmd_mask =